Message ID | 20210301095254.1946084-2-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/etnaviv: Use FOLL_FORCE for userptr | expand |
On 3/1/21 01:52, Daniel Vetter wrote: > There's no mmu notifier or anything like that, releasing this pin is > entirely up to userspace. Hence FOLL_LONGTERM. > > No cc: stable for this patch since a lot of the infrastructure around > FOLL_LONGETRM (like not allowing it for pages currently sitting in ^FOLL_LONGTERM > ZONE_MOVEABLE before they're migrated) is still being worked on. So > not big benefits yet. Yes. Great write-up, that's very clear, and it's exactly where we're at. Reviewed-by: John Hubbard <jhubbard@nvidia.com> thanks,
On Mon, Mar 01, 2021 at 02:26:01AM -0800, John Hubbard wrote: > On 3/1/21 01:52, Daniel Vetter wrote: > > There's no mmu notifier or anything like that, releasing this pin is > > entirely up to userspace. Hence FOLL_LONGTERM. > > > > No cc: stable for this patch since a lot of the infrastructure around > > FOLL_LONGETRM (like not allowing it for pages currently sitting in > > ^FOLL_LONGTERM > > > ZONE_MOVEABLE before they're migrated) is still being worked on. So > > not big benefits yet. > > Yes. Great write-up, that's very clear, and it's exactly where we're at. > > Reviewed-by: John Hubbard <jhubbard@nvidia.com> Both patches pushed to drm-misc-fixes. 2nd one maybe not required there, but easier due to conflicts. Thanks for the review. -Daniel > > > thanks, > -- > John Hubbard > NVIDIA > > > > > Cc: John Hubbard <jhubbard@nvidia.com> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > Cc: Lucas Stach <l.stach@pengutronix.de> > > Cc: Russell King <linux+etnaviv@armlinux.org.uk> > > Cc: Christian Gmeiner <christian.gmeiner@gmail.com> > > Cc: etnaviv@lists.freedesktop.org > > --- > > drivers/gpu/drm/etnaviv/etnaviv_gem.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > > index a9e696d05b33..db69f19ab5bc 100644 > > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c > > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > > @@ -689,7 +689,8 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj) > > struct page **pages = pvec + pinned; > > ret = pin_user_pages_fast(ptr, num_pages, > > - FOLL_WRITE | FOLL_FORCE, pages); > > + FOLL_WRITE | FOLL_FORCE | FOLL_LONGTERM, > > + pages); > > if (ret < 0) { > > unpin_user_pages(pvec, pinned); > > kvfree(pvec); > >
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c index a9e696d05b33..db69f19ab5bc 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c @@ -689,7 +689,8 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj) struct page **pages = pvec + pinned; ret = pin_user_pages_fast(ptr, num_pages, - FOLL_WRITE | FOLL_FORCE, pages); + FOLL_WRITE | FOLL_FORCE | FOLL_LONGTERM, + pages); if (ret < 0) { unpin_user_pages(pvec, pinned); kvfree(pvec);
There's no mmu notifier or anything like that, releasing this pin is entirely up to userspace. Hence FOLL_LONGTERM. No cc: stable for this patch since a lot of the infrastructure around FOLL_LONGETRM (like not allowing it for pages currently sitting in ZONE_MOVEABLE before they're migrated) is still being worked on. So not big benefits yet. Cc: John Hubbard <jhubbard@nvidia.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Russell King <linux+etnaviv@armlinux.org.uk> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: etnaviv@lists.freedesktop.org --- drivers/gpu/drm/etnaviv/etnaviv_gem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)