kvm: simplify kvm_vm_ioctl_set_memory_alias
PATCH 1/2 kvm: simplify kvm_vm_ioctl_set_memory_alias
It's just time waste if we free a object and allocate it immediately.
Signed-off-by Lai Jiangshan <[email protected]>
---
arch/x86/kvm/x86.c +1 -9
@@ -2479,15 +2479,8 @@ static int kvm_vm_ioctl_set_memory_alias(struct kvm *kvm,rcu_assign_pointer (kvm->arch.aliases, aliases);synchronize_srcu_expedited (&kvm->srcu);kvm_mmu_zap_all (kvm); -kfree (old_aliases); - - r = -ENOMEM ; - aliases =kzalloc (sizeof (struct kvm_mem_aliases ),GFP_KERNEL ); -if (!aliases) - goto out_unlock; - -memcpy (aliases, kvm->arch.aliases,sizeof (struct kvm_mem_aliases )); + aliases = old_aliases; p = &aliases->aliases[alias->slot]; p->base_gfn = alias->guest_phys_addr >>PAGE_SHIFT ; p->npages = alias->memory_size >>PAGE_SHIFT ;
@@ -2505,7 +2498,6 @@ static int kvm_vm_ioctl_set_memory_alias(struct kvm *kvm,kfree (old_aliases); r =0 ; -out_unlock:mutex_unlock (&kvm->slots_lock); out:return r;
Quoted 2 lines · Lai Jiangshan
It's just time waste if we free a object and allocate it immediately.
The alias code is scheduled to be killed off soon, (see Documentation/feature-removal-schedule.txt), so there's not much point in optimizing it.
Signature · 1 line
error compiling committee.c: too many arguments to function