Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

From: Jason Gunthorpe
Date: Thu Aug 15 2019 - 15:33:06 EST

On Thu, Aug 15, 2019 at 11:26:46AM +0800, Jason Wang wrote:
> On 2019/8/13 äå7:57, Jason Gunthorpe wrote:
> > On Tue, Aug 13, 2019 at 04:31:07PM +0800, Jason Wang wrote:
> >
> > > What kind of issues do you see? Spinlock is to synchronize GUP with MMU
> > > notifier in this series.
> > A GUP that can't sleep can't pagefault which makes it a really weird
> > pattern
> My understanding is __get_user_pages_fast() assumes caller can fail or have
> fallback. And we have graceful fallback to copy_{to|from}_user().

My point is that if you can fall back to copy_user then it is weird to
call the special non-sleeping GUP under a spinlock.

AFAIK the only reason this is done is because of the way the notifier
is being locked...