Messages in this thread | | | Date | Wed, 25 Mar 2009 13:57:41 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [PATCH 2/5][RFC] tracing: move function profiler data out of function struct |
| |
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 >
| |