On Tue, May 16, 2017 at 04:20:35AM +0200, Andrew Jones wrote:
> The timer work is only scheduled for a VCPU when that VCPU is
> blocked. This means we only need to wake it up, not kick (IPI)
> it. While calling kvm_vcpu_kick() would just do the wake up,
> and not kick, anyway, let's change this to avoid request-less
> vcpu kicks, as they're generally not a good idea (see
> "Request-less VCPU Kicks" in
> Documentation/virtual/kvm/vcpu-requests.rst)
> 
> Signed-off-by: Andrew Jones <[email protected]>
> ---
>  virt/kvm/arm/arch_timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/virt/kvm/arm/arch_timer.c b/virt/kvm/arm/arch_timer.c
> index 5976609ef27c..c9cd56f39b1e 100644
> --- a/virt/kvm/arm/arch_timer.c
> +++ b/virt/kvm/arm/arch_timer.c
> @@ -95,7 +95,7 @@ static void kvm_timer_inject_irq_work(struct work_struct 
> *work)
>        * If the vcpu is blocked we want to wake it up so that it will see
>        * the timer has expired when entering the guest.
>        */
> -     kvm_vcpu_kick(vcpu);
> +     swake_up(kvm_arch_vcpu_wq(vcpu));

We have kvm_vcpu_wake_up().  Why not use that?

Thanks,
-Christoffer

>  }
>  
>  static u64 kvm_timer_compute_delta(struct arch_timer_context *timer_ctx)
> -- 
> 2.9.3
> 
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to