[git pull] drm ttm hugepages feature pull for 5.7-rc1

From: Dave Airlie
Date: Thu Apr 02 2020 - 19:35:59 EST


Hi Linus,

This is the second pull, it has some changes to mm in it that should
all have acks on them. The first dax constify arg patch got an ack on
the list from Matthew Wilcox and Dan Williams after the MR was sent,
but I didn't think it was worth a resend for that.

This adds support for hugepages to TTM and has been tested with the
vmwgfx drivers, though I expect other drivers to start using it.

Dave.

drm-next-2020-04-03-1:
drm: add support for hugepages to TTM
The following changes since commit 59e7a8cc2dcf335116d500d684bfb34d1d97a6fe:

Merge tag 'drm-msm-next-2020-03-22' of
https://gitlab.freedesktop.org/drm/msm into drm-next (2020-03-31
16:34:55 +1000)

are available in the Git repository at:

git://anongit.freedesktop.org/drm/drm tags/drm-next-2020-04-03-1

for you to fetch changes up to 0e7e6198af28c1573267aba1be33dd0b7fb35691:

Merge branch 'ttm-transhuge' of
git://people.freedesktop.org/~thomash/linux into drm-next (2020-04-03
09:07:49 +1000)

----------------------------------------------------------------
drm: add support for hugepages to TTM

----------------------------------------------------------------
Dave Airlie (1):
Merge branch 'ttm-transhuge' of
git://people.freedesktop.org/~thomash/linux into drm-next

Thomas Hellstrom (VMware) (9):
fs: Constify vma argument to vma_is_dax
mm: Introduce vma_is_special_huge
mm: Split huge pages on write-notify or COW
mm: Add vmf_insert_pfn_xxx_prot() for huge page-table entries
drm/ttm, drm/vmwgfx: Support huge TTM pagefaults
drm/vmwgfx: Support huge page faults
drm: Add a drm_get_unmapped_area() helper
drm/vmwgfx: Introduce a huge page aligning TTM range manager
drm/vmwgfx: Hook up the helpers to align buffer objects

drivers/gpu/drm/drm_file.c | 141 ++++++++++++++++++++++++
drivers/gpu/drm/ttm/ttm_bo_vm.c | 161 +++++++++++++++++++++++++++-
drivers/gpu/drm/vmwgfx/Makefile | 1 +
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 13 +++
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 12 +++
drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c | 76 ++++++++++++-
drivers/gpu/drm/vmwgfx/vmwgfx_thp.c | 166 +++++++++++++++++++++++++++++
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c | 5 +-
include/drm/drm_file.h | 9 ++
include/drm/ttm/ttm_bo_api.h | 3 +-
include/linux/fs.h | 2 +-
include/linux/huge_mm.h | 41 ++++++-
include/linux/mm.h | 17 +++
mm/huge_memory.c | 44 ++++++--
mm/memory.c | 27 +++--
16 files changed, 692 insertions(+), 28 deletions(-)
create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_thp.c