Ingo Molnar wrote: > * Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > >> On Mon, 25 Aug 2008, Linus Torvalds wrote: >>> checkstack.pl shows these things as the top problems: >>> >>> 0xffffffff80266234 smp_call_function_mask [vmlinux]: 2736 >>> 0xffffffff80234747 __build_sched_domains [vmlinux]: 2232 >>> 0xffffffff8023523f __build_sched_domains [vmlinux]: 2232 >>> >>> Anyway, the reason smp_call_function_mask and friends have such _huge_ >>> stack usages for you is that they contain a 'cpumask_t' on the stack. >> In fact, they contain multiple CPU-masks, each 4k-bits - 512 bytes - in >> size. And they tend to call each other. >> >> Quite frankly, I don't think we were really ready for 4k CPU's. I'm >> going to commit this patch to make sure others don't do that many >> CPU's by mistake. It marks MAXCPU's as being 'broken' so you cannot >> select it, and also limits the number of CPU's that you _can_ select >> to "just" 512. > > yeah, that's OK i guess - distros can still enable 4K support if they > wish to. Someone interested in improving the stack footprint situation > should dust off the max-stack-footprint tracer so that we can catch > these things in a more structured way. > > And i guess the next generation of 4K CPUs support should just get away > from cpumask_t-on-kernel-stack model altogether, as the current model is > not maintainable. We tried the on-kernel-stack variant, and it really > does not work reliably. We can fix this in v2.6.28. > > Ingo I would be most interested in any tools to analyze call-trees and accumulated stack usages. My current method of using kdb is really time consuming. Thanks! Mike -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html