summaryrefslogtreecommitdiff
path: root/kvm_x86.c
diff options
context:
space:
mode:
authorMax Bruning <max@joyent.com>2011-06-27 00:09:19 -0700
committerMax Bruning <max@joyent.com>2011-06-27 00:10:28 -0700
commit2da0b1292c437a43942d8cb12df8cf21cca0a83f (patch)
tree5820058844248270331b69a25b28cd463d8d11a7 /kvm_x86.c
parent4f4e1e2653498155250e5d1d2fff8519f462a9ea (diff)
downloadillumos-kvm-2da0b1292c437a43942d8cb12df8cf21cca0a83f.tar.gz
HVM-417 kmem_cache_destroy not called for all kmem caches on driver unload
Diffstat (limited to 'kvm_x86.c')
-rw-r--r--kvm_x86.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kvm_x86.c b/kvm_x86.c
index f6581b0..d316864 100644
--- a/kvm_x86.c
+++ b/kvm_x86.c
@@ -3627,21 +3627,29 @@ __vcpu_run(struct kvm_vcpu *vcpu)
}
}
+ KVM_TRACE3(vcpu__run, char *, __FILE__, int, __LINE__, int, r);
if (r <= 0)
break;
clear_bit(KVM_REQ_PENDING_TIMER, &vcpu->requests);
- if (kvm_cpu_has_pending_timer(vcpu))
+ if (kvm_cpu_has_pending_timer(vcpu)) {
+ KVM_TRACE3(vcpu__run, char *, __FILE__, int, __LINE__,
+ uint64_t, vcpu);
kvm_inject_pending_timer_irqs(vcpu);
+ }
if (dm_request_for_irq_injection(vcpu)) {
r = -EINTR;
+ KVM_TRACE3(vcpu__run, char *, __FILE__, int, __LINE__,
+ uint64_t, vcpu);
vcpu->run->exit_reason = KVM_EXIT_INTR;
KVM_VCPU_KSTAT_INC(vcpu, kvmvs_irq_exits);
}
if (issig(JUSTLOOKING)) {
r = -EINTR;
+ KVM_TRACE3(vcpu__run, char *, __FILE__, int, __LINE__,
+ uint64_t, vcpu);
vcpu->run->exit_reason = KVM_EXIT_INTR;
KVM_VCPU_KSTAT_INC(vcpu, kvmvs_signal_exits);
}
@@ -3651,6 +3659,8 @@ __vcpu_run(struct kvm_vcpu *vcpu)
#else
XXX_KVM_SYNC_PROBE;
#endif
+ KVM_TRACE3(vcpu__run, char *, __FILE__, int, __LINE__,
+ uint64_t, vcpu);
post_kvm_run_save(vcpu);
vapic_exit(vcpu);