KVM: Drop useless atomic test from timer function
The current code tries to optimize the setting of KVM_REQ_PENDING_TIMER but used atomic_inc_and_test - which always returns true unless pending had the invalid value of -1 on entry. This patch drops the test part preserving the original semantic but expressing it less confusingly. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
f7104db26a
commit
681405bfc7
@ -15,9 +15,9 @@ static int __kvm_timer_fn(struct kvm_vcpu *vcpu, struct kvm_timer *ktimer)
|
||||
* case anyway.
|
||||
*/
|
||||
if (ktimer->reinject || !atomic_read(&ktimer->pending)) {
|
||||
atomic_inc(&ktimer->pending);
|
||||
/* FIXME: this code should not know anything about vcpus */
|
||||
if (!atomic_inc_and_test(&ktimer->pending))
|
||||
set_bit(KVM_REQ_PENDING_TIMER, &vcpu->requests);
|
||||
set_bit(KVM_REQ_PENDING_TIMER, &vcpu->requests);
|
||||
}
|
||||
|
||||
if (waitqueue_active(q))
|
||||
|
Loading…
Reference in New Issue
Block a user