remove alloc_vm_area v2

From: Christoph Hellwig
Date: Thu Sep 24 2020 - 09:59:29 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.

Note that the i915 patches apply to the drm-tip branch of the drm-tip
tree, as that tree has recent conflicting commits in the same area.

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 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(-)