linux_dsm_epyc7002/arch
Balbir Singh 4dd5f8a99e powerpc/mm/radix: Split linear mapping on hot-unplug
This patch splits the linear mapping if the hot-unplug range is
smaller than the mapping size. The code detects if the mapping needs
to be split into a smaller size and if so, uses the stop machine
infrastructure to clear the existing mapping and then remap the
remaining range using a smaller page size.

The code will skip any region of the mapping that overlaps with kernel
text and warn about it once. We don't want to remove a mapping where
the kernel text and the LMB we intend to remove overlap in the same
TLB mapping as it may affect the currently executing code.

I've tested these changes under a kvm guest with 2 vcpus, from a split
mapping point of view, some of the caveats mentioned above applied to
the testing I did.

Fixes: 4b5d62ca17 ("powerpc/mm: add radix__remove_section_mapping()")
Signed-off-by: Balbir Singh <bsingharora@gmail.com>
[mpe: Tweak change log to match updated behaviour]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-02-08 23:56:11 +11:00
..
alpha pci-v4.16-changes 2018-02-06 09:59:40 -08:00
arc The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
arm Merge branch 'akpm' (patches from Andrew) 2018-02-06 22:15:42 -08:00
arm64 Merge branch 'akpm' (patches from Andrew) 2018-02-06 22:15:42 -08:00
blackfin The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
c6x The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
cris The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
frv The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
h8300 The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
hexagon The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
ia64 Merge branch 'akpm' (patches from Andrew) 2018-02-06 22:15:42 -08:00
m32r The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
m68k lib: optimize cpumask_next_and() 2018-02-06 18:32:44 -08:00
metag The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
microblaze Microblaze patches for 4.16-rc1 2018-02-02 09:48:36 -08:00
mips MIPS fixes for 4.16-rc1 2018-02-07 11:31:05 -08:00
mn10300 The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
nios2 The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
openrisc The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
parisc The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
powerpc powerpc/mm/radix: Split linear mapping on hot-unplug 2018-02-08 23:56:11 +11:00
riscv RISC-V changes for 4.16 2018-02-07 11:33:08 -08:00
s390 libnvdimm for 4.16 2018-02-06 10:41:33 -08:00
score arch/score/kernel/setup.c: combine two seq_printf() calls into one call in show_cpuinfo() 2018-02-06 18:32:47 -08:00
sh libnvdimm for 4.16 2018-02-06 10:41:33 -08:00
sparc libnvdimm for 4.16 2018-02-06 10:41:33 -08:00
tile The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
um The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
unicore32 lib: optimize cpumask_next_and() 2018-02-06 18:32:44 -08:00
x86 Merge branch 'akpm' (patches from Andrew) 2018-02-06 22:15:42 -08:00
xtensa The core framework has a handful of patches this time around, mostly due 2018-02-01 16:56:07 -08:00
.gitignore
Kconfig Makefile: introduce CONFIG_CC_STACKPROTECTOR_AUTO 2018-02-06 18:32:44 -08:00