Messages in this thread |  | | | Date | Mon, 15 Feb 2010 17:15:35 +1100 | | From | Nick Piggin <> | | Subject | Re: [PATCH] [4/4] SLAB: Fix node add timer race in cache_reap |
| |
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.
> > Signed-off-by: Andi Kleen <ak@linux.intel.com> > > --- > mm/slab.c | 3 +++ > 1 file changed, 3 insertions(+) > > Index: linux-2.6.32-memhotadd/mm/slab.c > =================================================================== > --- linux-2.6.32-memhotadd.orig/mm/slab.c > +++ linux-2.6.32-memhotadd/mm/slab.c > @@ -4093,6 +4093,9 @@ static void cache_reap(struct work_struc > * we can do some work if the lock was obtained. > */ > l3 = searchp->nodelists[node]; > + /* Note node yet set up */ > + if (!l3) > + break; > > reap_alien(searchp, l3); > > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
|  |