Re: [PATCH][GIT PULL] tracing/wakeup: move access to wakeup_cpu intospinlock

From: Steven Rostedt
Date: Fri Mar 27 2009 - 10:28:55 EST



On Fri, 27 Mar 2009, Frederic Weisbecker wrote:
> >
> > Hmm, looking back at the call stack:
> >
> > > > [<ffffffff806f8264>] schedule+0xd99/0x10f9
> > > > [<ffffffff806fb61b>] ? trace_hardirqs_on_thunk+0x3a/0x3c
> > > > [<ffffffff8027d2cb>] ? delayed_work_timer_fn+0x0/0x38
> > > > [<ffffffff8020d56d>] retint_careful+0x12/0x2e
> >
> > I wonder if we do not set up a stack frame properly. retint_careful is
> > called by assembly. I'll have a look at that
>
>
> Aah, indeed.
> May be should probe_kernel_address before saving
> the addresses.
>

Looking at the retint_careful, I'm 90% sure that is the bug.

Unfortunately, the CALLER_ADDR2 is a built in gcc function.

Looks like only the wakeup latency tracer calls it, perhaps we should
simply pass 0 instead?

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