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. Doable, but a fair amount of code churn. -- All Rights Reversed.
signature.asc
Description: This is a digitally signed message part