mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 09:36:46 +07:00
KVM: s390: randomize sca address
We allocate a page for the 2k sca, so lets use the space to improve hit rate of some internal cpu caches. No need to change the freeing of the page, as this will shift away the page offset bits anyway. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
This commit is contained in:
parent
94b3ffcd41
commit
f6c137ff00
@ -215,6 +215,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
|||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
char debug_name[16];
|
char debug_name[16];
|
||||||
|
static unsigned long sca_offset;
|
||||||
|
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
#ifdef CONFIG_KVM_S390_UCONTROL
|
#ifdef CONFIG_KVM_S390_UCONTROL
|
||||||
@ -236,6 +237,10 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
|||||||
kvm->arch.sca = (struct sca_block *) get_zeroed_page(GFP_KERNEL);
|
kvm->arch.sca = (struct sca_block *) get_zeroed_page(GFP_KERNEL);
|
||||||
if (!kvm->arch.sca)
|
if (!kvm->arch.sca)
|
||||||
goto out_err;
|
goto out_err;
|
||||||
|
spin_lock(&kvm_lock);
|
||||||
|
sca_offset = (sca_offset + 16) & 0x7f0;
|
||||||
|
kvm->arch.sca = (struct sca_block *) ((char *) kvm->arch.sca + sca_offset);
|
||||||
|
spin_unlock(&kvm_lock);
|
||||||
|
|
||||||
sprintf(debug_name, "kvm-%u", current->pid);
|
sprintf(debug_name, "kvm-%u", current->pid);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user