On Wed, Sep 02, 2020 at 03:05:39PM -0400, Zi Yan wrote: > On 2 Sep 2020, at 14:48, Jason Gunthorpe wrote: > > > On Wed, Sep 02, 2020 at 02:45:37PM -0400, Zi Yan wrote: > > > >>> Surprised this doesn't touch mm/pagewalk.c ? > >> > >> 1GB PUD page support is present for DAX purpose, so the code is there > >> in mm/pagewalk.c already. I only needed to supply ops->pud_entry when using > >> the functions in mm/pagewalk.c. :) > > > > Yes, but doesn't this change what is possible under the mmap_sem > > without the page table locks? > > > > ie I would expect some thing like pmd_trans_unstable() to be required > > as well for lockless walkers. (and I don't think the pmd code is 100% > > right either) > > > > Right. I missed that. Thanks for pointing it out. > The code like this, right? Technically all those *pud's are racy too, the design here with the _unstable function call always seemed weird. I strongly suspect it should mirror how get_user_pages_fast works for lockless walking Jason