linux/arch/s390/mm
Christian Borntraeger a06afe8383 KVM: s390: vsie/gmap: reduce gmap_rmap overhead
there are cases that trigger a 2nd shadow event for the same
vmaddr/raddr combination. (prefix changes, reboots, some known races)
This will increase memory usages and it will result in long latencies
when cleaning up, e.g. on shutdown. To avoid cases with a list that has
hundreds of identical raddrs we check existing entries at insert time.
As this measurably reduces the list length this will be faster than
traversing the list at shutdown time.

In the long run several places will be optimized to create less entries
and a shrinker might be necessary.

Fixes: 4be130a084 ("s390/mm: add shadow gmap support")
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20220429151526.1560-1-borntraeger@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-05-03 15:15:44 +02:00
..
cmm.c s390/cmm: add missing virt_to_phys() conversion 2021-12-10 16:14:25 +01:00
dump_pagetables.c s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
extable.c s390/extable: add dedicated uaccess handler 2022-03-08 00:33:00 +01:00
extmem.c s390/extmem: remove stale -ENOSPC comment and handling 2020-07-03 10:49:16 +02:00
fault.c s390/extable: add and use fixup_exception helper function 2022-03-08 00:33:00 +01:00
gmap.c KVM: s390: vsie/gmap: reduce gmap_rmap overhead 2022-05-03 15:15:44 +02:00
hugetlbpage.c s390/mm,hugetlb: don't use pte_val()/pXd_val() as lvalue 2022-03-01 21:05:10 +01:00
init.c s390/sclp: release SCLP early buffer after kernel initialization 2021-12-16 19:58:07 +01:00
kasan_init.c s390/mm: use set_pXd()/set_pte() helper functions everywhere 2022-03-01 21:05:10 +01:00
maccess.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
Makefile s390/extable: move extable related functions to mm/extable.c 2022-03-08 00:33:00 +01:00
mmap.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
page-states.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
pageattr.c s390/mm,pageattr: don't use pte_val()/pXd_val() as lvalue 2022-03-01 21:05:10 +01:00
pgalloc.c s390/mm: use CRST_ALLOC_ORDER instead of number 2022-02-09 22:56:04 +01:00
pgtable.c s390/mm,pgtable: don't use pte_val()/pXd_val() as lvalue 2022-03-01 21:05:10 +01:00
vmem.c s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00