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

Steven Rostedt
2009-03-27T14:28:56Z

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