On Wed, 12 Feb 2014 03:13:33 -0500 Tejun Heo <t...@kernel.org> wrote:
> On Tue, Feb 11, 2014 at 10:59:58PM -0800, Linus Torvalds wrote: > > There's a lot of 200+ byte stack frames in block/blk-core.s, and they > > all seem to be of the type perf_trace_block_buffer() - things created > > with DECLARE_EVENT_CLASS(), afaik. Why they all have 200+ bytes of > > frame, I have no idea. That sounds like a potential disaster too, > > although hopefully it's mostly leaf functions - but leaf functions > > *deep* in the callchain. Tejun? Steven, why _do_ they end up with such > > huge frames? > > It looks like they're essentially the same for all the automatically > generated trace functions. I'm seeing 232 byte stack frame in most of > them. If I'm not completely confused by these macros, these are > generated by DECLARE_EVENT_CLASS() in include/trace/ftrace.h and > contains struct pt_regs in the stack frame which is already 168 bytes, > so that seems like the culprit. No idea whether this is something > avoidable. At least they shouldn't nest in any way. Steven? They shouldn't nest. But if the perf tracepoint is active, I don't know how much more of the stack is used in the functions that tracepoint calls. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/