Re: [PATCH -tip/master 3/7] locking/mcs: Remove obsolete comment

From: Jason Low
Date: Mon Jul 28 2014 - 13:49:43 EST


On Mon, 2014-07-28 at 18:54 +0200, Peter Zijlstra wrote:
> On Mon, Jul 28, 2014 at 09:49:35AM -0700, Jason Low wrote:
> > On Sun, 2014-07-27 at 22:18 -0700, Davidlohr Bueso wrote:
> > > ... as we clearly inline mcs_spin_lock() now.
> > >
> > > Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx>
> > > ---
> > > kernel/locking/mcs_spinlock.h | 3 ---
> > > 1 file changed, 3 deletions(-)
> > >
> > > diff --git a/kernel/locking/mcs_spinlock.h b/kernel/locking/mcs_spinlock.h
> > > index 23e89c5..4d60986 100644
> > > --- a/kernel/locking/mcs_spinlock.h
> > > +++ b/kernel/locking/mcs_spinlock.h
> > > @@ -56,9 +56,6 @@ do { \
> > > * If the lock has already been acquired, then this will proceed to spin
> > > * on this node->locked until the previous lock holder sets the node->locked
> > > * in mcs_spin_unlock().
> > > - *
> > > - * We don't inline mcs_spin_lock() so that perf can correctly account for the
> > > - * time spent in this lock function.
> > > */
> > > static inline
> > > void mcs_spin_lock(struct mcs_spinlock **lock, struct mcs_spinlock *node)
> >
> > Likewise, I'm wondering if we should make this function noinline so that
> > "perf can correctly account for the time spent in this lock function".
>
> What's that about anyhow?

So if the function is inlined, perf report would show the contention
occurring in the calling function rather than the inlined function. As
an example, if we were to convert osq_lock() and mutex_spin_on_owner()
to inline, perf would report all the contention from both of those
functions occurring in just "__mutex_lock_slowpath()".


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