Commit b6ce9780 authored by Feng Wu's avatar Feng Wu Committed by Paolo Bonzini

KVM/VMX: Add host irq information in trace event when updating IRTE for posted interrupts

Add host irq information in trace event, so we can better understand
which irq is in posted mode.
Signed-off-by: default avatarFeng Wu <feng.wu@intel.com>
Reviewed-by: default avatarRadim Krcmar <rkrcmar@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 6228a0da
...@@ -996,11 +996,13 @@ TRACE_EVENT(kvm_enter_smm, ...@@ -996,11 +996,13 @@ TRACE_EVENT(kvm_enter_smm,
* Tracepoint for VT-d posted-interrupts. * Tracepoint for VT-d posted-interrupts.
*/ */
TRACE_EVENT(kvm_pi_irte_update, TRACE_EVENT(kvm_pi_irte_update,
TP_PROTO(unsigned int vcpu_id, unsigned int gsi, TP_PROTO(unsigned int host_irq, unsigned int vcpu_id,
unsigned int gvec, u64 pi_desc_addr, bool set), unsigned int gsi, unsigned int gvec,
TP_ARGS(vcpu_id, gsi, gvec, pi_desc_addr, set), u64 pi_desc_addr, bool set),
TP_ARGS(host_irq, vcpu_id, gsi, gvec, pi_desc_addr, set),
TP_STRUCT__entry( TP_STRUCT__entry(
__field( unsigned int, host_irq )
__field( unsigned int, vcpu_id ) __field( unsigned int, vcpu_id )
__field( unsigned int, gsi ) __field( unsigned int, gsi )
__field( unsigned int, gvec ) __field( unsigned int, gvec )
...@@ -1009,6 +1011,7 @@ TRACE_EVENT(kvm_pi_irte_update, ...@@ -1009,6 +1011,7 @@ TRACE_EVENT(kvm_pi_irte_update,
), ),
TP_fast_assign( TP_fast_assign(
__entry->host_irq = host_irq;
__entry->vcpu_id = vcpu_id; __entry->vcpu_id = vcpu_id;
__entry->gsi = gsi; __entry->gsi = gsi;
__entry->gvec = gvec; __entry->gvec = gvec;
...@@ -1016,9 +1019,10 @@ TRACE_EVENT(kvm_pi_irte_update, ...@@ -1016,9 +1019,10 @@ TRACE_EVENT(kvm_pi_irte_update,
__entry->set = set; __entry->set = set;
), ),
TP_printk("VT-d PI is %s for this irq, vcpu %u, gsi: 0x%x, " TP_printk("VT-d PI is %s for irq %u, vcpu %u, gsi: 0x%x, "
"gvec: 0x%x, pi_desc_addr: 0x%llx", "gvec: 0x%x, pi_desc_addr: 0x%llx",
__entry->set ? "enabled and being updated" : "disabled", __entry->set ? "enabled and being updated" : "disabled",
__entry->host_irq,
__entry->vcpu_id, __entry->vcpu_id,
__entry->gsi, __entry->gsi,
__entry->gvec, __entry->gvec,
......
...@@ -10783,7 +10783,7 @@ static int vmx_update_pi_irte(struct kvm *kvm, unsigned int host_irq, ...@@ -10783,7 +10783,7 @@ static int vmx_update_pi_irte(struct kvm *kvm, unsigned int host_irq,
vcpu_info.pi_desc_addr = __pa(vcpu_to_pi_desc(vcpu)); vcpu_info.pi_desc_addr = __pa(vcpu_to_pi_desc(vcpu));
vcpu_info.vector = irq.vector; vcpu_info.vector = irq.vector;
trace_kvm_pi_irte_update(vcpu->vcpu_id, e->gsi, trace_kvm_pi_irte_update(vcpu->vcpu_id, host_irq, e->gsi,
vcpu_info.vector, vcpu_info.pi_desc_addr, set); vcpu_info.vector, vcpu_info.pi_desc_addr, set);
if (set) if (set)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment