On Mon, 2013-08-12 at 20:52 +0200, Ingo Molnar wrote: > * Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>