[PATCH 00/22] huge gtt pages

Matthew Auld
2017-08-15T18:16:55Z

Some bits of polish, with the larger change being the 64K scratch page, which we
need to fully support 64K pages, as pointed out by Chris.

Matthew Auld (22):
mm/shmem: introduce shmem_file_setup_with_mnt
drm/i915: introduce simple gemfs
drm/i915/gemfs: enable THP
drm/i915: introduce page_size_mask to dev_info
drm/i915: introduce page_size members
drm/i915: introduce vm set_pages/clear_pages
drm/i915: align the vma start to the largest gtt page size
drm/i915: align 64K objects to 2M
drm/i915: enable IPS bit for 64K pages
drm/i915: disable GTT cache for 2M/1G pages
drm/i915: support 1G pages for the 48b PPGTT
drm/i915: support 2M pages for the 48b PPGTT
drm/i915: add support for 64K scratch page
drm/i915: support 64K pages for the 48b PPGTT
drm/i915: accurate page size tracking for the ppgtt
drm/i915/debugfs: include some gtt page size metrics
drm/i915/selftests: huge page tests
drm/i915/selftests: mix huge pages
drm/i915: disable platform support for vGPU huge gtt pages
drm/i915: enable platform support for 64K pages
drm/i915: enable platform support for 2M pages
drm/i915: enable platform support for 1G pages

drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_debugfs.c | 42 +-
drivers/gpu/drm/i915/i915_drv.h | 9 +-
drivers/gpu/drm/i915/i915_gem.c | 97 +-
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 17 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 264 +++-
drivers/gpu/drm/i915/i915_gem_gtt.h | 22 +-
drivers/gpu/drm/i915/i915_gem_internal.c | 5 +-
drivers/gpu/drm/i915/i915_gem_object.h | 30 +-
drivers/gpu/drm/i915/i915_gem_stolen.c | 13 +-
drivers/gpu/drm/i915/i915_gem_userptr.c | 26 +-
drivers/gpu/drm/i915/i915_gemfs.c | 67 +
drivers/gpu/drm/i915/i915_gemfs.h | 34 +
drivers/gpu/drm/i915/i915_pci.c | 25 +
drivers/gpu/drm/i915/i915_reg.h | 3 +
drivers/gpu/drm/i915/i915_vma.c | 49 +-
drivers/gpu/drm/i915/i915_vma.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 9 +-
drivers/gpu/drm/i915/selftests/huge_gem_object.c | 4 +-
drivers/gpu/drm/i915/selftests/huge_pages.c | 1281 ++++++++++++++++++++
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 3 +-
.../gpu/drm/i915/selftests/i915_live_selftests.h | 1 +
.../gpu/drm/i915/selftests/i915_mock_selftests.h | 1 +
drivers/gpu/drm/i915/selftests/mock_gem_device.c | 16 +-
drivers/gpu/drm/i915/selftests/mock_gtt.c | 11 +-
drivers/gpu/drm/i915/selftests/scatterlist.c | 15 +
include/linux/shmem_fs.h | 2 +
mm/shmem.c | 30 +-
28 files changed, 1981 insertions(+), 97 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_gemfs.c
create mode 100644 drivers/gpu/drm/i915/i915_gemfs.h
create mode 100644 drivers/gpu/drm/i915/selftests/huge_pages.c