linux_dsm_epyc7002/arch/s390/mm
David Hildenbrand 3e0d3e408e s390/vmem: consolidate vmem_add_range() and vmem_remove_range()
We want to have only a single pagetable walker and reuse the same
functionality for vmemmap handling. Let's start by consolidating
vmem_add_range() and vmem_remove_range(), converting it into a
recursive implementation.

A recursive implementation makes it easier to expand individual cases
without harming readability. In addition, we minimize traversing the
whole hierarchy over and over again.

One change is that we don't unmap large PMDs/PUDs when not completely
covered by the request, something that should never happen with direct
mappings, unless one would be removing in other granularity than added,
which would be broken already.

Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20200722094558.9828-3-david@redhat.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2020-07-27 10:33:36 +02:00
..
cmm.c s390: convert to msecs_to_jiffies() 2020-06-29 16:31:46 +02:00
dump_pagetables.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
extmem.c s390/extmem: remove stale -ENOSPC comment and handling 2020-07-03 10:49:16 +02:00
fault.c s390/kernel: expand exception table logic to allow new handling options 2020-07-20 10:55:50 +02:00
gmap.c mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
hugetlbpage.c hugetlbfs: move hugepagesz= parsing to arch independent code 2020-06-03 20:09:46 -07:00
init.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
kasan_init.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
maccess.c s390: Change s390_kernel_write() return type to match memcpy() 2020-05-08 00:12:43 +02:00
Makefile s390/mm: convert to the generic get_user_pages_fast code 2019-04-23 16:30:04 +02:00
mmap.c s390/mm: cleanup arch_get_unmapped_area() and friends 2020-03-27 10:22:46 +01:00
page-states.c s390/cmma: reuse kstrtobool for option value parsing 2019-08-26 12:51:18 +02:00
pageattr.c mm: consolidate pte_index() and pte_offset_*() definitions 2020-06-09 09:39:14 -07:00
pgalloc.c mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
pgtable.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
vmem.c s390/vmem: consolidate vmem_add_range() and vmem_remove_range() 2020-07-27 10:33:36 +02:00