The patch titled slab, x86_64: skip cache_free_alien() on non NUMA has been removed from the -mm tree. Its filename was slab-x86_64-skip-cache_free_alien-on-non-numa.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: slab, x86_64: skip cache_free_alien() on non NUMA From: "Siddha, Suresh B" <suresh.b.siddha@xxxxxxxxx> Set use_alien_caches to 0 on non NUMA platforms. And avoid calling the cache_free_alien() when use_alien_caches is not set. This will avoid the cache miss that happens while dereferencing slabp to get nodeid. Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Eric Dumazet <dada1@xxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Christoph Lameter <clameter@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/slab.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff -puN mm/slab.c~slab-x86_64-skip-cache_free_alien-on-non-numa mm/slab.c --- a/mm/slab.c~slab-x86_64-skip-cache_free_alien-on-non-numa +++ a/mm/slab.c @@ -1146,7 +1146,7 @@ static inline int cache_free_alien(struc * Make sure we are not freeing a object from another node to the array * cache on this cpu. */ - if (likely(slabp->nodeid == node) || unlikely(!use_alien_caches)) + if (likely(slabp->nodeid == node)) return 0; l3 = cachep->nodelists[node]; @@ -1394,6 +1394,9 @@ void __init kmem_cache_init(void) int order; int node; + if (num_possible_nodes() == 1) + use_alien_caches = 0; + for (i = 0; i < NUM_INIT_LISTS; i++) { kmem_list3_init(&initkmem_list3[i]); if (i < MAX_NUMNODES) @@ -3563,7 +3566,7 @@ static inline void __cache_free(struct k check_irq_off(); objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); - if (cache_free_alien(cachep, objp)) + if (use_alien_caches && cache_free_alien(cachep, objp)) return; if (likely(ac->avail < ac->limit)) { _ Patches currently in -mm which might be from suresh.b.siddha@xxxxxxxxx are pad-irq_desc-to-internode-cacheline-size.patch pad-irq_desc-to-internode-cacheline-size-fix.patch sched-fix-idle-load-balancing-in-softirqd-context.patch sched-fix-idle-load-balancing-in-softirqd-context-fix.patch sched-dynticks-idle-load-balancing-v3.patch sched-optimize-siblings-status-check-logic-in-wake_idle.patch sched-align-rq-to-cacheline-boundary.patch sched-dont-renice-kernel-threads.patch sched-remove-sleepavg-from-proc.patch sched-implement-staircase-deadline-cpu-scheduler.patch sched-implement-staircase-deadline-cpu-scheduler-misc-fixes.patch sched-remove-noninteractive-flag.patch sched-document-sd-cpu-scheduler.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html