[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Adding pool_cache_invalidate_local() to pool_cache(9) API
On Oct 9, 2009, at 7:35 AM, Matt Thomas wrote:
> Do it lazily. Set a flag in each per-cpu queue and next time an item that
> cpu accesses its per-cpu cache, it can see the cache is invalid and discard
> This doesn't solve the window of that cpu already actively using the pool
> while the flag is set but it could that could solved by get testing the test
> exit, if set discarding the item, and retrying.
> No reason for exposing the mechanics of how to do this to the users of the
> poll APIs.
It actually turned out to be very trivial to fix pool_cache_invalidate() to
DTRT with per-CPU caches. I'll provide a patch for Jean-Yves to try in the
situation where he required pool_cache_invalidate_local(). While I was at it,
I discovered that the two existing uses of pool_cache_invalidate() don't do
proper synchronization wrt. the constructor. I'll write up a patch for the
alpha and x86 pmaps separately.
Main Index |
Thread Index |