mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()
We can use 'NULL' to represent 'all cpus' case in kvm_make_vcpus_request_mask() and avoid building vCPU mask with all vCPUs. Suggested-by: Radim Krčmář <[email protected]> Signed-off-by: Vitaly Kuznetsov <[email protected]> Reviewed-by: Roman Kagan <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
This commit is contained in:
parent
9170200ec0
commit
a812297c4f
2 changed files with 25 additions and 23 deletions
|
|
@ -219,7 +219,7 @@ bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req,
|
|||
me = get_cpu();
|
||||
|
||||
kvm_for_each_vcpu(i, vcpu, kvm) {
|
||||
if (!test_bit(i, vcpu_bitmap))
|
||||
if (vcpu_bitmap && !test_bit(i, vcpu_bitmap))
|
||||
continue;
|
||||
|
||||
kvm_make_request(req, vcpu);
|
||||
|
|
@ -243,12 +243,10 @@ bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req)
|
|||
{
|
||||
cpumask_var_t cpus;
|
||||
bool called;
|
||||
static unsigned long vcpu_bitmap[BITS_TO_LONGS(KVM_MAX_VCPUS)]
|
||||
= {[0 ... BITS_TO_LONGS(KVM_MAX_VCPUS)-1] = ULONG_MAX};
|
||||
|
||||
zalloc_cpumask_var(&cpus, GFP_ATOMIC);
|
||||
|
||||
called = kvm_make_vcpus_request_mask(kvm, req, vcpu_bitmap, cpus);
|
||||
called = kvm_make_vcpus_request_mask(kvm, req, NULL, cpus);
|
||||
|
||||
free_cpumask_var(cpus);
|
||||
return called;
|
||||
|
|
|
|||
Loading…
Reference in a new issue