[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1293311043.22802.434.camel@gandalf.stny.rr.com>
Date: Sat, 25 Dec 2010 16:04:03 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Joerg Sommer <joerg@...a.gnuu.de>,
linuxppc-dev <linuxppc-dev@...abs.org>
Subject: Re: [PATCH][GIT PULL] powerpc64/tracing: Add frame buffer to calls
of trace_hardirqs_on/off
On Sat, 2010-12-25 at 08:11 +1100, Benjamin Herrenschmidt wrote:
> On Fri, 2010-12-24 at 00:46 -0500, Steven Rostedt wrote:
>
> > arch/powerpc/include/asm/irqflags.h | 40 ++++++++++++++++++++++++++--------
> > 1 files changed, 30 insertions(+), 10 deletions(-)
> > ---------------------------
> > commit 5025019505da6731f8be13940bb978617599c935
> > Author: Steven Rostedt <srostedt@...hat.com>
> > Date: Thu Dec 23 21:07:39 2010 -0800
> >
> > powerpc64/tracing: Add frame buffer to calls of trace_hardirqs_on/off
> >
> > When an interrupt occurs in userspace, we can call trace_hardirqs_on/off()
> > With one level stack. But if we have irqsoff tracing enabled,
> > it checks both CALLER_ADDR0 and CALLER_ADDR1. The second call
> > goes two stack frames up. If this is from user space, then there may
> > not exist a second stack.
> >
> > Add a second stack when calling trace_hardirqs_on/off() otherwise
> > the following oops might occur:
>
> Hrm... this is really gross :-) So we add gratuituous overhead because
> the code below is dumb :-) What about making the code less stupid
> instead when poking at the stack and detect it's coming from userspace
> instead ?
Note, when CONFIG_IRQSOFF_TRACE is set, there's already a bit of
overhead :-)
Anyway, I'll have to take a look at how the frame pointer is set up. Or
we could also set up all stacks coming into the kernel to have a "dummy"
frame pointer that wont hurt anything if we index into it.
Anyway, I'm off till the new year, so I'll worry about it then ;-)
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists