On Thu, Sep 17, 2020 at 01:19:02PM -0700, John Hubbard wrote: > On 9/17/20 1:06 PM, Jason Gunthorpe wrote: > > On Thu, Sep 17, 2020 at 12:42:11PM -0700, Linus Torvalds wrote: > ... > > > Is there possibly somethign else we can filter on than just > > > GUP_PIN_COUNTING_BIAS? Because it could be as simple as just marking > > > the vma itself and saying "this vma has had a page pinning event done > > > on it". > > > > We'd have to give up pin_user_pages_fast() to do that as we can't fast > > walk and get vmas? > > oops, yes. I'd forgotten about that point. Basically all of the O_DIRECT > callers need _fast. This is a big problem. What about an atomic counter in the mm_struct? # of pages currently under pin. The use case Linus is worried about will never have any pins, so it would be 0 and it could skip this entire test. Jason