remove alloc_vm_area v3

From: Christoph Hellwig
Date: Wed Sep 30 2020 - 13:52:22 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:
- 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(-)