On 18/12/2014 19:15, nick wrote: > /* > * There is a race window between reading and incrementing, but we do > * not care about potentially losing timer events in the !reinject > * case anyway. Note: KVM_REQ_PENDING_TIMER is implicitly checked > * in vcpu_enter_guest. > */ > if (!atomic_read(&ktimer->pending)) { > atomic_inc(&ktimer->pending); > /* FIXME: this code should not know anything about vcpus */ > kvm_make_request(KVM_REQ_PENDING_TIMER, vcpu); > } > > if (waitqueue_active(q)) > wake_up_interruptible(q); > > if (lapic_is_periodic(apic)) { > hrtimer_add_expires_ns(&ktimer->timer, ktimer->period); > return HRTIMER_RESTART; > } else > return HRTIMER_NORESTART; > } > What is point of the comment, clearly we need access to vcpu in the call as it's a pointer to the apic structure's vcpu > and we need to call on that particular CPU a request of KVM_REQ_PENDING_TIMER? Please let me known if I am missing any > important information. The idea is that there should be a function in x86.c (something like kvm_vcpu_set_pending_timer) that calls kvm_make_request, instead of doing it in lapic.c. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html