Re: [PATCH] KVM: x86: Simplify kvm timer handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-09-14 09:58, Jan Kiszka wrote:
> The vcpu reference of a kvm_timer can't become NULL while the timer is
> valid, so drop this redundant test. This also makes it pointless to
> carry a separate __kvm_timer_fn, fold it into kvm_timer_fn.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> ---
>  arch/x86/kvm/timer.c |   26 ++++----------------------
>  1 files changed, 4 insertions(+), 22 deletions(-)
> 
> diff --git a/arch/x86/kvm/timer.c b/arch/x86/kvm/timer.c
> index ae432ea..6b85cc6 100644
> --- a/arch/x86/kvm/timer.c
> +++ b/arch/x86/kvm/timer.c
> @@ -18,9 +18,10 @@
>  #include <linux/atomic.h>
>  #include "kvm_timer.h"
>  
> -static int __kvm_timer_fn(struct kvm_vcpu *vcpu, struct kvm_timer *ktimer)
> +enum hrtimer_restart kvm_timer_fn(struct hrtimer *data)
>  {
> -	int restart_timer = 0;
> +	struct kvm_timer *ktimer = container_of(data, struct kvm_timer, timer);
> +	struct kvm_vcpu *vcpu = ktimer->vcpu;
>  	wait_queue_head_t *q = &vcpu->wq;
>  
>  	/*
> @@ -40,26 +41,7 @@ static int __kvm_timer_fn(struct kvm_vcpu *vcpu, struct kvm_timer *ktimer)
>  
>  	if (ktimer->t_ops->is_periodic(ktimer)) {
>  		hrtimer_add_expires_ns(&ktimer->timer, ktimer->period);
> -		restart_timer = 1;
> -	}
> -
> -	return restart_timer;
> -}
> -
> -enum hrtimer_restart kvm_timer_fn(struct hrtimer *data)
> -{
> -	int restart_timer;
> -	struct kvm_vcpu *vcpu;
> -	struct kvm_timer *ktimer = container_of(data, struct kvm_timer, timer);
> -
> -	vcpu = ktimer->vcpu;
> -	if (!vcpu)
> -		return HRTIMER_NORESTART;
> -
> -	restart_timer = __kvm_timer_fn(vcpu, ktimer);
> -	if (restart_timer)
>  		return HRTIMER_RESTART;
> -	else
> +	} else
>  		return HRTIMER_NORESTART;
>  }
> -

Ping.

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux