On Thu, Dec 9, 2010 at 10:11 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Wednesday, December 8, 2010, Michel Lespinasse <walken@xxxxxxxxxx> wrote: >> Yes, patch 1/6 changes the long hold time to be in read mode instead >> of write mode, which is only a band-aid. But, this prepares for patch >> 5/6, which releases mmap_sem whenever there is contention on it or >> when blocking on disk reads. > > I have to say that I'm not a huge fan of that horribly kludgy > contention check case. > > The "move page-in to read-locked sequence" and the changes to > get_user_pages look fine, but the contention thing is just disgusting. > I'd really like to see some other approach if at all possible. Are you OK with the part of patch 5/6 that drops mmap_sem when blocking on disk ? This by itself brings mmap_sem hold time down to a few seconds. Plus, I could add something to limit the interval passed to __mlock_vma_pages_range to a thousand pages or so, so that the hold time would then be bounded by that constant. I think rwsem_is_contended() actually sounds better than fiddling with constants, but OTOH maybe the mlock use case is not significant enough to justify introducing that new API. -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>