• Radim Krčmář's avatar
    KVM: perform a wake_up in kvm_make_all_cpus_request · 6c6e8360
    Radim Krčmář authored
    We want to have kvm_make_all_cpus_request() to be an optmized version of
    
      kvm_for_each_vcpu(i, vcpu, kvm) {
        kvm_make_request(vcpu, request);
        kvm_vcpu_kick(vcpu);
      }
    
    and kvm_vcpu_kick() wakes up the target vcpu.  We know which requests do
    not need the wake up and use it to optimize the loop.
    
    Thanks to that, this patch doesn't change the behavior of current users
    (the all don't need the wake up) and only prepares for future where the
    wake up is going to be needed.
    
    I think that most requests do not need the wake up, so we would flip the
    bit then.
    
    Later on, kvm_make_request() will take care of kicking too, using this
    bit to make the decision whether to kick or not.
    Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
    Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    6c6e8360
kvm_main.c 94 KB