summaryrefslogtreecommitdiff
path: root/arch/s390/lib/test_unwind.c
diff options
context:
space:
mode:
authorGerald Schaefer <gerald.schaefer@linux.ibm.com>2020-07-29 23:22:34 +0300
committerHeiko Carstens <hca@linux.ibm.com>2020-08-11 19:16:13 +0300
commitba925fa35057a062ac98c3e8138b013ce4ce351c (patch)
tree90e90da496783eecb3ae5ae33d65773d174bd5dd /arch/s390/lib/test_unwind.c
parentf0cbd3b83ed47803df941865f720934c69abb803 (diff)
downloadlinux-ba925fa35057a062ac98c3e8138b013ce4ce351c.tar.xz
s390/gmap: improve THP splitting
During s390_enable_sie(), we need to take care of splitting all qemu user process THP mappings. This is currently done with follow_page(FOLL_SPLIT), by simply iterating over all vma ranges, with PAGE_SIZE increment. This logic is sub-optimal and can result in a lot of unnecessary overhead, especially when using qemu and ASAN with large shadow map. Ilya reported significant system slow-down with one CPU busy for a long time and overall unresponsiveness. Fix this by using walk_page_vma() and directly calling split_huge_pmd() only for present pmds, which greatly reduces overhead. Cc: <stable@vger.kernel.org> # v5.4+ Reported-by: Ilya Leoshkevich <iii@linux.ibm.com> Tested-by: Ilya Leoshkevich <iii@linux.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/lib/test_unwind.c')
0 files changed, 0 insertions, 0 deletions