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

Steven Rostedt
2009-03-25T17:57:53Z

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.

But as stated below, this is just beating the dead horse, because we can
bend the lock. But it is impossible to bend the lock. What we must realize
is... "There is no lock". ;-)

-- Steve

>
> > > This all would be solved much more robustly by the function
> > > attributes hash approach i suggested in the previous mail. If
> > > percpu_alloc() is done for 20,000 functions the memory
> > > allocation overhead is no big deal.
> >
> > Later patches create a per-cpu buffers and removes the lock.
>
> ok :)
>
> Ingo
>