remove alloc_vm_area v4
From: Christoph Hellwig
Date: Fri Oct 02 2020 - 08:22:48 EST
Hi Andrew,
this series removes alloc_vm_area, which was left over from the big
vmalloc interface rework. It is a rather arkane interface, basicaly
the equivalent of get_vm_area + actually faulting in all PTEs in
the allocated area. It was originally addeds for Xen (which isn't
modular to start with), and then grew users in zsmalloc and i915
which seems to mostly qualify as abuses of the interface, especially
for i915 as a random driver should not set up PTE bits directly.
A git tree is also available here:
git://git.infradead.org/users/hch/misc.git alloc_vm_area
Gitweb:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/alloc_vm_area
Changes since v2:
- rebased to include the two conflicting i915 changes in drm-tip /
linux-next again. No changes outside of drivers/gpu/drm/i915/
Changes since v2:
- add another missing i initialization
- rebased to mainline instead of drm-tip again
Changes since v1:
- fix a bug in the zsmalloc changes
- fix a bug and rebase to include the recent changes in i915
- add a new vmap flag that allows to free the page array and pages
using vfree
- add a vfree documentation updated from Matthew
Diffstat:
arch/x86/xen/grant-table.c | 27 ++++--
drivers/gpu/drm/i915/Kconfig | 1
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 131 +++++++++++++-----------------
drivers/gpu/drm/i915/gt/shmem_utils.c | 76 ++++-------------
drivers/xen/xenbus/xenbus_client.c | 30 +++---
include/linux/vmalloc.h | 7 -
mm/Kconfig | 3
mm/memory.c | 16 ++-
mm/nommu.c | 7 -
mm/vmalloc.c | 123 ++++++++++++++--------------
mm/zsmalloc.c | 10 +-
11 files changed, 200 insertions(+), 231 deletions(-)