On Wed, Nov 09, 2011 at 01:51:23AM +0100, Jean-Yves Migeon wrote:
> 
> 1 # adding an "invalidate flag" to the pool cache, for each CPU.

How about a serial number, instead.  Locally in each CPU's pool cache,
globally for the entire kernel.  pool_cache_invalidate increments the
serial number with an atomic operation; before each allocation on any
CPU, that CPU checks whether its local serial number matches the global
one.  If not, invalidate, then retry the operation.  Repeat as necessary.

Thor

Reply via email to