Messages in this thread Patch in this message | | | Date | Thu, 1 Feb 2007 15:19:33 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: [SLAB] Shutdown cache_reaper when cpu goes down |
| |
The comments do not explain correctly what is going on. Sorry Oleg but it seems that the protection of the assignment to reap_work is different that what we initially thought.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Index: current/mm/slab.c =================================================================== --- current.orig/mm/slab.c 2007-02-01 15:07:09.000000000 -0800 +++ current/mm/slab.c 2007-02-01 15:09:21.000000000 -0800 @@ -1274,10 +1274,12 @@ static int __cpuinit cpuup_callback(stru case CPU_DOWN_PREPARE: /* * Shutdown cache reaper. Note that the cache_chain_mutex is - * held so that cache_reap() cannot modify reap_work - * concurrently. + * held so that if cache_reap() is invoked it cannot do + * anything expensive but will only modify reap_work + * and reschedule the timer. */ cancel_rearming_delayed_work(&per_cpu(reap_work, cpu)); + /* Now the cache_reaper is guaranteed to be not running. */ per_cpu(reap_work, cpu).work.func = NULL; break; case CPU_DOWN_FAILED: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |