On 2007.12.08 17:16:24 -0500, Steven Rostedt wrote: > > Hi Linus, > > > On Fri, 7 Dec 2007, Linus Torvalds wrote: > > > > > > Can you do one run with oprofile, and see exactly where the cost is? It > > > should hopefully be pretty darn obvious, considering your timing. > > The results are here: > > http://people.redhat.com/srostedt/slub/results/slab.op > http://people.redhat.com/srostedt/slub/results/slub.op
Hm, you seem to be hitting the "another_slab" stuff in __slab_alloc alot. I wonder if !node_match triggers too often. We always start with the per cpu slab, if that one is on the wrong node, you'll always hit that "another_slab" path. After searching for way too long (given that I have no clue about that stuff anyway and just read the code out of curiousness), I noticed that the the cpu_to_node stuff on x86_64 seems to be initialized to 0xff (arch/x86/mm/numa_64.c), and Google brought me this dmesg output [1], which, AFAICT, shows that the per cpu slab setup is done _before_ cpu_to_node is correctly setup. That would lead to the per cpu slabs all having node == 0xff, which looks pretty bad. Disclaimer: I read the slub/numa/$WHATEVER_I_SAW_THERE for the first time, so this might be total bull ;-) Björn [1] http://linux.derkeiler.com/Mailing-Lists/Kernel/2007-10/msg04648.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

