Re: tcp_isn_tick() / dummynet() callout madness ?

From: Robert Watson (rwatson_at_FreeBSD.org)
Date: 01/30/05

  • Next message: Mark Johnston: "cvs-src summary for January 18-24"
    Date: Sun, 30 Jan 2005 18:59:20 +0000 (GMT)
    To: Colin Percival <cperciva@freebsd.org>
    
    

    On Sun, 30 Jan 2005, Colin Percival wrote:

    > Robert Watson wrote:
    > > since the callout_reset() is one of the more
    > > expensive parts of this code, Colin has been looking at some locking
    > > optimizations to lower the cost.
    >
    > To elaborate somewhat: I think I can avoid the spinlock cost when
    > callouts reset themselves (which is the case here). However, while this
    > will reduce the time spent in the callouts themselves, it's really only
    > a 50% solution -- softclock locks and unlocks the callout spin lock each
    > time it launches a callout. If we're spending 5% of our cpu time in
    > these two callouts, then they're actually responsible for using 10% of
    > our cpu time; I think I can cut that in half, but in the end we can't
    > avoid the cost of a mtx_lock_spin / mtx_unlock_spin pair (in softclock)
    > for each callout.

    On some further iteration, it transpired that Poul-Henning's configuration
    included WITNESS, and without that things look a bit more reasonable. We
    should still run the callout less often, if we can, and I think the
    optimization is useful.

    Robert N M Watson

    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Mark Johnston: "cvs-src summary for January 18-24"

    Relevant Pages