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