lkml.org 
[lkml]   [2008]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected

* Linus Torvalds <torvalds@linux-foundation.org> 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


\
 
 \ /
  Last update: 2008-08-26 09:25    [W:0.175 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site