[PATCH 0/2] [radeon] Getting rid of GUP and use HMM for user ptr features.

From: jglisse
Date: Sun Sep 09 2018 - 23:23:01 EST


From: JÃrÃme Glisse <jglisse@xxxxxxxxxx>

[This depends on some HMM patchset queued upstream see branch [1]]

This is simple change to switch to use HMM for user ptr buffer object
which conveniently avoid to pin pages. I have more things in the pipe
to make HMM more usefull for such cases (like sharing more resources
accross multiple mirror of a same process).

Beside avoiding pining, this is also an attempt to isolate core mm
from device drivers by having clearly define API and boundary where
we can set expection of everyone and thus having mm folks to have to
read and understand driver code and conversly having driver folks
understand mm maze.

This is also part of what i want to discuss during XDC2018.

Consider this as an RFC to start the discussion.

[1] https://cgit.freedesktop.org/~glisse/linux/log/?h=hmm-radeon-v00

Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: Christian KÃnig <christian.koenig@xxxxxxx>
Cc: Felix Kuehling <Felix.Kuehling@xxxxxxx>
Cc: David (ChunMing) Zhou <David1.Zhou@xxxxxxx>
Cc: Nicolai HÃhnle <nicolai.haehnle@xxxxxxx>
Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: David Airlie <airlied@xxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>

JÃrÃme Glisse (2):
gpu/radeon: use HMM mirror instead of mmu_notifier
gpu/radeon: use HMM mirror for userptr buffer object.

drivers/gpu/drm/radeon/radeon.h | 14 +-
drivers/gpu/drm/radeon/radeon_gem.c | 16 +-
drivers/gpu/drm/radeon/radeon_mn.c | 283 +++++++++++++++++++++-------
drivers/gpu/drm/radeon/radeon_ttm.c | 129 ++-----------
4 files changed, 259 insertions(+), 183 deletions(-)

--
2.17.1