Re: [PATCH 2/5][RFC] tracing: move function profiler data out offunction struct

From: Ingo Molnar
Date: Wed Mar 25 2009 - 14:02:44 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

>
> On Wed, 25 Mar 2009, Ingo Molnar wrote:
>
> > > The atomic_inc_return protects against NMIs, since this is the only place
> > > the lock is taken.
> >
> > i mean, if this code executes _ni_ an NMI. Or that cannot happen? We
> > trace nmis too, dont we?
>
> Yes, it can execute in an NMI, but we have no issues there. If the
> lock was taken the atomic inc is set. If an NMI comes in, it will
> fail the atomic inc counter test and never try to take the lock.

You are misunderstanding me. Can this bit:

> > + if (!profile_pages->next && alloc_safe)
> > + profile_pages->next = (void *)get_zeroed_page(GFP_ATOMIC);

run in NMI context?

or is alloc_safe false in that case? Even if it's safe it looks
really messy ...

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