Messages in this thread | | | Date | Thu, 22 Mar 2007 23:12:39 +0100 | From | Eric Dumazet <> | Subject | Re: non-NUMA cache_free_alien() (was Re: [RFC] SLAB : NUMA cache_free_alien() very expensive because of virt_to_slab(objp); nodeid = slabp->nodeid;) |
| |
Siddha, Suresh B a écrit : > Christoph, > > While we are at this topic, recently I had reports that > cache_free_alien() is costly on non NUMA platforms too (similar > to the cache miss issues that Eric was referring to on NUMA) > and the appended patch seems to fix it for non NUMA atleast. > > Appended patch gives a nice 1% perf improvement on non-NUMA platform > with database workload. > > Please comment or Ack for mainline :)
I have one comment :)
> @@ -1394,6 +1394,9 @@ void __init kmem_cache_init(void) > int order; > int node; > > + if (num_online_nodes() == 1) > + use_alien_caches = 0; > +
Unfortunatly this part is wrong.
You should check num_possible_nodes(), or nr_node_ids (this one is cheaper, its a variable instead of a function call)
I wonder if we could add a new SLAB_NUMA_BYPASS, so that we can declare some kmem_cache as non NUMA aware (for example, I feel network skb dont need the NUMA overhead)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |