]> Git Repo - linux.git/commit
s390/gmap: improve THP splitting
authorGerald Schaefer <[email protected]>
Wed, 29 Jul 2020 20:22:34 +0000 (22:22 +0200)
committerHeiko Carstens <[email protected]>
Tue, 11 Aug 2020 16:16:13 +0000 (18:16 +0200)
commitba925fa35057a062ac98c3e8138b013ce4ce351c
tree90e90da496783eecb3ae5ae33d65773d174bd5dd
parentf0cbd3b83ed47803df941865f720934c69abb803
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: <[email protected]> # v5.4+
Reported-by: Ilya Leoshkevich <[email protected]>
Tested-by: Ilya Leoshkevich <[email protected]>
Acked-by: Christian Borntraeger <[email protected]>
Signed-off-by: Gerald Schaefer <[email protected]>
Signed-off-by: Heiko Carstens <[email protected]>
arch/s390/mm/gmap.c
This page took 0.051863 seconds and 4 git commands to generate.