aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/slub.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/mm/slub.c b/mm/slub.c
index bcdb2c8941a5..84f59fde1a10 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1511,26 +1511,8 @@ new_slab:
1511 1511
1512 if (new) { 1512 if (new) {
1513 c = get_cpu_slab(s, smp_processor_id()); 1513 c = get_cpu_slab(s, smp_processor_id());
1514 if (c->page) { 1514 if (c->page)
1515 /*
1516 * Someone else populated the cpu_slab while we
1517 * enabled interrupts, or we have gotten scheduled
1518 * on another cpu. The page may not be on the
1519 * requested node even if __GFP_THISNODE was
1520 * specified. So we need to recheck.
1521 */
1522 if (node_match(c, node)) {
1523 /*
1524 * Current cpuslab is acceptable and we
1525 * want the current one since its cache hot
1526 */
1527 discard_slab(s, new);
1528 slab_lock(c->page);
1529 goto load_freelist;
1530 }
1531 /* New slab does not fit our expectations */
1532 flush_slab(s, c); 1515 flush_slab(s, c);
1533 }
1534 slab_lock(new); 1516 slab_lock(new);
1535 SetSlabFrozen(new); 1517 SetSlabFrozen(new);
1536 c->page = new; 1518 c->page = new;