From a26bbaf98121699e7b2340cd98376ae85548c78b Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Tue, 3 Jul 2007 09:31:04 -0700 Subject: [PATCH] --- yaml --- r: 58176 b: refs/heads/master c: dbc55faa64c12f4c9fab6e2bd131d771bc026ed1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/slub.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 4d262997a72c..bc97d679c384 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 746976a301ac9c9aa10d7d42454f8d6cdad8ff2b +refs/heads/master: dbc55faa64c12f4c9fab6e2bd131d771bc026ed1 diff --git a/trunk/mm/slub.c b/trunk/mm/slub.c index 202049a45764..0437f2f09986 100644 --- a/trunk/mm/slub.c +++ b/trunk/mm/slub.c @@ -1798,8 +1798,6 @@ static struct kmem_cache_node * __init early_kmem_cache_node_alloc(gfp_t gfpflag BUG_ON(kmalloc_caches->size < sizeof(struct kmem_cache_node)); page = new_slab(kmalloc_caches, gfpflags | GFP_THISNODE, node); - /* new_slab() disables interupts */ - local_irq_enable(); BUG_ON(!page); n = page->freelist; @@ -1811,6 +1809,12 @@ static struct kmem_cache_node * __init early_kmem_cache_node_alloc(gfp_t gfpflag init_kmem_cache_node(n); atomic_long_inc(&n->nr_slabs); add_partial(n, page); + + /* + * new_slab() disables interupts. If we do not reenable interrupts here + * then bootup would continue with interrupts disabled. + */ + local_irq_enable(); return n; }