Messages in this thread | | | Date | Mon, 15 Feb 2010 22:01:36 +1100 | From | Nick Piggin <> | Subject | Re: [PATCH] [4/4] SLAB: Fix node add timer race in cache_reap |
| |
On Mon, Feb 15, 2010 at 11:52:53AM +0100, Andi Kleen wrote: > On Mon, Feb 15, 2010 at 09:41:35PM +1100, Nick Piggin wrote: > > On Mon, Feb 15, 2010 at 11:32:50AM +0100, Andi Kleen wrote: > > > On Mon, Feb 15, 2010 at 05:15:35PM +1100, Nick Piggin wrote: > > > > On Thu, Feb 11, 2010 at 09:54:04PM +0100, Andi Kleen wrote: > > > > > > > > > > cache_reap can run before the node is set up and then reference a NULL > > > > > l3 list. Check for this explicitely and just continue. The node > > > > > will be eventually set up. > > > > > > > > How, may I ask? cpuup_prepare in the hotplug notifier should always > > > > run before start_cpu_timer. > > > > > > I'm not fully sure, but I have the oops to prove it :) > > > > Hmm, it would be nice to work out why it's happening. If it's completely > > reproducible then could I send you a debug patch to test? > > Looking at it again I suspect it happened this way: > > cpuup_prepare fails (e.g. kmalloc_node returns NULL). The later > patches might have cured that. Nothing stops the timer from > starting in this case anyways.
Hmm, but it should, because if cpuup_prepare fails then the CPU_ONLINE notifiers should never be called I think.
> So given that the first patches might not be needed, but it's > safer to have anyways.
I'm just worried there is still an underlying problem here.
| |