Re: [PATCH 2/4] tracing/function-graph: x86_64 stack allocationcleanup

From: Steven Rostedt
Date: Sun Sep 13 2009 - 13:51:48 EST


On Sun, 2009-09-13 at 19:05 +0200, Frederic Weisbecker wrote:
> On Sat, Sep 12, 2009 at 11:05:45PM -0400, Steven Rostedt wrote:
> > From: Jiri Olsa <jolsa@xxxxxxxxxx>
> >
> > Only 24 bytes needs to be reserved on the stack for the function graph
> > tracer on x86_64.
> >
> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > LKML-Reference: <20090729085837.GB4998@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> > ---
> > arch/x86/kernel/entry_64.S | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
> > index c251be7..d59fe32 100644
> > --- a/arch/x86/kernel/entry_64.S
> > +++ b/arch/x86/kernel/entry_64.S
> > @@ -146,7 +146,7 @@ ENTRY(ftrace_graph_caller)
> > END(ftrace_graph_caller)
> >
> > GLOBAL(return_to_handler)
> > - subq $80, %rsp
> > + subq $24, %rsp
>
>
> That's theoretically a good fix.
>
> But Steve, do you remember the weird issues we had while only
> saving the theoretically strict needed stack space here?
>
> It made the function graph tracer crashing in x86-64, and we
> never found out why we needed to save more stack than needed.
>
> Sorry that may sound like a FUD message but I can't explain
> the reason of this, and I fear we may met it again.
>
> Well, at least that may help us finding out the real resons of
> such crashes, but...

I did not forget about them, and that's the reason that I did not apply
them in the beginning. But that was long ago, and we fixed lots of
issues. I remember hitting crashes with the patch too, but I've applied
this and ran it on those same machines and I no longer get those
crashes. Thus, my thinking is that we already fixed the bug that was
causing it.

Only way to know for sure is to apply it and let it out into the
wild ;-)

-- Steve


--
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/