Re: slab: start_cpu_timer/cache_reap CONFIG_HOTPLUG_CPU problems

From: Max Krasnyansky
Date: Tue Feb 20 2007 - 16:06:50 EST


Christoph Lameter wrote:
On Tue, 20 Feb 2007, Max Krasnyansky wrote:

Well seems that we have a set of unresolved issues with workqueues and cpu
hotplug.
How about storing 'cpu' explicitly in the work queue instead of relying on the
smp_processor_id() and friends ? That way there is no ambiguity when
threads/timers get
moved around.

The slab functionality is designed to work on the processor with the queue. These tricks will only cause more trouble in the future. The cache_reaper needs to be either disabled or run on the right processor. It should never run on the wrong processor.
The cache_reaper() is of no importance to hotplug. You just need to make sure that it is not in the way (disable it and if its running wait until the cache_reaper has finished).

I agree that running the reaper on the wrong CPU is not the best way to go about it.
But it seems like disabling it is even worse, unless I missing something. ie wasting
memory.

btw What kind of troubles were you talking about ? Performance or robustness ?
As I said performance wise it does not make sense to run reaper on the wrong CPU but
it does seems to work just fine from the correctness (locking, etc) perspective. Again
it's totally possible that I'm missing something here :).

Thanks
Max
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/