On Mon, May 23, 2016 at 03:26:47PM -0400, Rik van Riel wrote: > On Mon, 2016-05-23 at 22:01 +0300, Kirill A. Shutemov wrote: > > On Mon, May 23, 2016 at 02:49:09PM -0400, Rik van Riel wrote: > > > > > > On Mon, 2016-05-23 at 20:42 +0200, Michal Hocko wrote: > > > > > > > > On Mon 23-05-16 20:14:11, Ebru Akagunduz wrote: > > > > > > > > > > > > > > > Currently khugepaged makes swapin readahead under > > > > > down_write. This patch supplies to make swapin > > > > > readahead under down_read instead of down_write. > > > > You are still keeping down_write. Can we do without it > > > > altogether? > > > > Blocking mmap_sem of a remote proces for write is certainly not > > > > nice. > > > Maybe Andrea can explain why khugepaged requires > > > a down_write of mmap_sem? > > > > > > If it were possible to have just down_read that > > > would make the code a lot simpler. > > You need a down_write() to retract page table. We need to make sure > > that > > nobody sees the page table before we can replace it with huge pmd. > > Good point. > > I guess the alternative is to have the page_table_lock > taken by a helper function (everywhere) that can return > failure if the page table was changed while the caller > was waiting for the lock. Not page table was changed, but pmd is now pointing to something else. Basically, we would need to nest all pte-ptl's within pmd_lock(). That's not good for scalability. -- Kirill A. Shutemov -- 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>