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

From: Linus Torvalds
Date: Fri Aug 21 2009 - 14:16:17 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/