linux/arch/s390/kvm
David Hildenbrand 06d68a6c85 KVM: s390: vsie: optimize gmap prefix mapping
In order to not always map the prefix, we have to take care of certain
aspects that implicitly unmap the prefix:
- Changes to the prefix address
- Changes to MSO, because the HVA of the prefix is changed
- Changes of the gmap shadow (e.g. unshadowed, asce or edat changes)

By properly handling these cases, we can stop remapping the prefix when
there is no reason to do so.

This also allows us now to not acquire any gmap shadow locks when
rerunning the vsie and still having a valid gmap shadow.

Please note, to detect changing gmap shadows, we have to keep the reference
of the gmap shadow. The address of a gmap shadow does otherwise not
reliably indicate if the gmap shadow has changed (the memory chunk
could get reused).

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-06-21 09:43:34 +02:00
..
diag.c KVM: s390: provide logging for diagnose 0x500 2016-06-10 12:07:26 +02:00
gaccess.c s390/mm: support real-space for gmap shadows 2016-06-20 09:55:02 +02:00
gaccess.h s390/mm: take ipte_lock during shadow faults 2016-06-20 09:54:40 +02:00
guestdbg.c KVM: S390: Fix typo 2016-06-14 11:16:27 +02:00
intercept.c KVM: s390: Add sthyi emulation 2016-06-10 12:07:12 +02:00
interrupt.c KVM: s390: fixup I/O interrupt traces 2016-06-10 12:07:26 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig KVM: halt_polling: provide a way to qualify wakeups during poll 2016-05-13 17:29:23 +02:00
kvm-s390.c KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
kvm-s390.h KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
Makefile KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
priv.c KVM: s390: vsie: initial support for nested virtualization 2016-06-21 09:43:33 +02:00
sigp.c KVM: s390: enable SRS only if enabled for the guest 2016-05-09 13:33:55 +02:00
sthyi.c KVM: s390: Limit sthyi execution 2016-06-10 12:07:12 +02:00
trace-s390.h KVM: s390: obey kptr_restrict in traces 2015-12-15 17:06:32 +01:00
trace.h KVM: s390: trace and count all skey intercepts 2016-06-10 12:07:31 +02:00
vsie.c KVM: s390: vsie: optimize gmap prefix mapping 2016-06-21 09:43:34 +02:00