Re: [PATCH] Locking optimization for cache_reap

Dimitri Sivanich
2004-07-27T02:01:34Z

On Mon, Jul 26, 2004 at 08:47:57PM -0500, Dimitri Sivanich wrote:
>
> While you've got irq's disabled, drain_array() (the function my patch removes)
> acquires the cache spin_lock, then releases it. Cache_reap then acquires
> it again (with irq's having been off the entire time). My testing has found
> that simply acquiring the lock once while irq's are off results in fewer
> excessively long latencies.
>
> Results probably vary somewhat depending on the circumstance.

Of course, I should add that all of this is from the perspective of the
cpu doing the cache_reap. If others feel that this may add too much
latency to other paths, other solutions may be in order.