From 1660bd739e0dc023ebbcd4e06cf69cf09596229c Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Mon, 15 May 2006 11:41:00 -0700 Subject: [PATCH] --- yaml --- r: 26738 b: refs/heads/master c: a4523a8b38089478f93bc053c31f678c63f5ee1b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/slab.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 81d1c8a53962..11ac0eff8109 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 40e59a61669a3cab9e0bd24644e29155d6b00970 +refs/heads/master: a4523a8b38089478f93bc053c31f678c63f5ee1b diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index b1d643b5238d..d31a06bfbea5 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -2200,11 +2200,14 @@ static void drain_cpu_caches(struct kmem_cache *cachep) check_irq_on(); for_each_online_node(node) { l3 = cachep->nodelists[node]; - if (l3) { + if (l3 && l3->alien) + drain_alien_cache(cachep, l3->alien); + } + + for_each_online_node(node) { + l3 = cachep->nodelists[node]; + if (l3) drain_array(cachep, l3, l3->shared, 1, node); - if (l3->alien) - drain_alien_cache(cachep, l3->alien); - } } }