Re: [tip:tracing/urgent] tracing: Fix too large stack usage in do_one_initcall()

Linus Torvalds
2009-08-21T18:16:10Z

On Fri, 21 Aug 2009, Andrew Morton wrote:
>
> We seem to have overrun an 8k stack in
> http://bugzilla.kernel.org/show_bug.cgi?id=14029

The thread "v2.6.31-rc6: BUG: unable to handle kernel NULL pointer
dereference at 0000000000000008" also has at least one oops that has
that "Thread overran stack, or stack corrupted" marker thing.

> Do we have a max-stack-depth tracer widget btw?

Enable FTRACE and then STACK_TRACER. Then just do

cat /sys/kernel/debug/tracing/stack_trace

and you'll get this.

But if by "widget" you meant something nice and automatic, then I don't
think so.

> My main concern would be maintenance. Over time we'll chew more and
> more stack space and eventually we'll get into trouble again. What
> means do we have for holding the line at 8k, and even improving things?

That's why I think the async thing could fix this - if we _force_ async
calls to be asynchronous, you won't have the deep callchains for all the
device discovery thing.

Linus