diff --git a/mm/slab.c b/mm/slab.c index f7faff72cf56..e6c698f55674 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2964,11 +2964,10 @@ static void *cache_alloc_refill(struct kmem_cache *cachep, gfp_t flags) struct array_cache *ac; int node; - node = numa_node_id(); - - check_irq_off(); - ac = cpu_cache_get(cachep); retry: + check_irq_off(); + node = numa_node_id(); + ac = cpu_cache_get(cachep); batchcount = ac->batchcount; if (!ac->touched && batchcount > BATCHREFILL_LIMIT) { /*