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

From: Colin Percival <cperciva_at_freebsd.org>
Date: Sun, 30 Jan 2005 18:17:38 +0000
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.

Colin Percival
Received on Sun Jan 30 2005 - 17:17:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:27 UTC