On Fri 04-10-13 13:52:49, Marciniszyn, Mike wrote: > > Convert qib_get_user_pages() to use get_user_pages_unlocked(). This > > shortens the section where we hold mmap_sem for writing and also removes > > the knowledge about get_user_pages() locking from ipath driver. We also fix > > a bug in testing pinned number of pages when changing the code. > > > > This patch and the sibling ipath patch will nominally take the mmap_sem > twice where the old routine only took it once. This is a performance > issue. It will take mmap_sem only once during normal operation. Only if get_user_pages_unlocked() fail, we have to take mmap_sem again to undo the change of mm->pinned_vm. > Is the intent here to deprecate get_user_pages()? Well, as much as I'd like to, there are really places in mm code which need to call get_user_pages() while holding mmap_sem to be able to inspect corresponding vmas etc. So I want to reduce get_user_pages() use as much as possible but I'm not really hoping in completely removing it. > I agree, the old code's lock limit test is broke and needs to be fixed. > I like the elimination of the silly wrapper routine! > > Could the lock limit test be pushed into another version of the wrapper > so that there is only one set of mmap_sem transactions? I'm sorry, I don't understand what you mean here... Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- 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>