[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1376338250.22432.440.camel@schen9-DESK>
Date: Mon, 12 Aug 2013 13:10:50 -0700
From: Tim Chen <tim.c.chen@...ux.intel.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: Davidlohr Bueso <davidlohr@...com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...e.hu>,
Andrea Arcangeli <aarcange@...hat.com>,
Mel Gorman <mgorman@...e.de>, "Shi, Alex" <alex.shi@...el.com>,
Andi Kleen <andi@...stfloor.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Michel Lespinasse <walken@...gle.com>,
Davidlohr Bueso <davidlohr.bueso@...com>,
"Wilcox, Matthew R" <matthew.r.wilcox@...el.com>,
Dave Hansen <dave.hansen@...el.com>,
Rik van Riel <riel@...hat.com>, linux-kernel@...r.kernel.org,
linux-mm <linux-mm@...ck.org>
Subject: Re: Performance regression from switching lock to rw-sem for
anon-vma tree
On Mon, 2013-08-12 at 20:52 +0200, Ingo Molnar wrote:
> * Tim Chen <tim.c.chen@...ux.intel.com> wrote:
>
> > On Tue, 2013-08-06 at 16:55 -0700, Davidlohr Bueso wrote:
> >
> > > I got good numbers, recovering the performance drop I noticed with the
> > > i_mmap_mutex to rwsem patches.
> >
> > That's good. I remembered that the earlier version of the patch not
> > only recovered the performance drop, but also provide some boost when
> > you switch from i_mmap_mutex to rwsem for aim7. Do you see similar
> > boost with this version?
> >
> > > Looking forward to a more upstreamable
> > > patchset that deals with this work, including the previous patches.
> > >
> > > One thing that's bugging me about this series though is the huge amount
> > > of duplicated code being introduced to rwsems from mutexes. We can share
> > > common functionality such as mcs locking (perhaps in a new file under
> > > lib/), can_spin_on_owner() and owner_running(), perhaps moving those
> > > functions into sheduler code, were AFAIK they were originally.
> >
> > I think that MCS locking is worth breaking out as its
> > own library. After we've done that, the rest of
> > the duplication are minimal. It is easier
> > to keep them separate as there are some rwsem
> > specific logic that may require tweaking
> > to can_spin_on_owner and owner_running.
>
> That's what I would strongly suggest to be the approach of these patches:
> first the MCS locking factoring out, then changes in rwsem behavior.
>
> I'd suggest the librarization should be done using inlines or so, so that
> we don't touch the current (pretty good) mutex.o code generation. I.e.
> code library only on the source code level.
>
> Done that way we could also apply the librarization first, without having
> to worry about performance aspects. Having the code shared will also make
> sure that an improvement to the mutex slowpaths automatically carries over
> into rwems and vice versa.
Ingo and Davidlohr,
Thanks for your feedbacks. I'll spin off a set of new patches to
incorporate your suggestions later.
Tim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists