s390/mm: use non-quiescing sske for KVM switch to keyed guest
The switch to a keyed guest does not require a classic sske as the other guest CPUs are not accessing the key before the switch is complete. By using the NQ SSKE things are faster especially with multiple guests. Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com> Suggested-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Link: https://lore.kernel.org/r/20220530092706.11637-3-borntraeger@linux.ibm.com Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
6d5946274d
commit
3ae11dbcfa
|
@ -748,7 +748,7 @@ void ptep_zap_key(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
|
||||||
pgste_val(pgste) |= PGSTE_GR_BIT | PGSTE_GC_BIT;
|
pgste_val(pgste) |= PGSTE_GR_BIT | PGSTE_GC_BIT;
|
||||||
ptev = pte_val(*ptep);
|
ptev = pte_val(*ptep);
|
||||||
if (!(ptev & _PAGE_INVALID) && (ptev & _PAGE_WRITE))
|
if (!(ptev & _PAGE_INVALID) && (ptev & _PAGE_WRITE))
|
||||||
page_set_storage_key(ptev & PAGE_MASK, PAGE_DEFAULT_KEY, 1);
|
page_set_storage_key(ptev & PAGE_MASK, PAGE_DEFAULT_KEY, 0);
|
||||||
pgste_set_unlock(ptep, pgste);
|
pgste_set_unlock(ptep, pgste);
|
||||||
preempt_enable();
|
preempt_enable();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue