On 25/03/14 14:53, Paolo Bonzini wrote: > Il 25/03/2014 14:35, Christian Borntraeger ha scritto: >> 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@xxxxxxxxxx> >> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> >> --- >> arch/s390/kvm/kvm-s390.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c >> index 7337c57..a02979f 100644 >> --- a/arch/s390/kvm/kvm-s390.c >> +++ b/arch/s390/kvm/kvm-s390.c >> @@ -215,6 +215,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) >> { >> int rc; >> char debug_name[16]; >> + static unsigned long sca_offset; >> >> rc = -EINVAL; >> #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); >> if (!kvm->arch.sca) >> 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); >> >> > > Does this have to remain the same across migration? Nope, the sca address is just an internal _host_ detail and does not belong/influence the guest. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html