76daa3
From 01a019025bbd959bc685c7f74c0d4a5a29073c5c Mon Sep 17 00:00:00 2001
76daa3
From: Peter Xu <peterx@redhat.com>
76daa3
Date: Tue, 6 Jun 2017 06:57:29 +0200
76daa3
Subject: [PATCH 06/17] kvm: irqchip: trace changes on msi add/remove
76daa3
MIME-Version: 1.0
76daa3
Content-Type: text/plain; charset=UTF-8
76daa3
Content-Transfer-Encoding: 8bit
76daa3
76daa3
RH-Author: Peter Xu <peterx@redhat.com>
76daa3
Message-id: <1496732251-27935-2-git-send-email-peterx@redhat.com>
76daa3
Patchwork-id: 75491
76daa3
O-Subject: [RHEL7.4 qemu-kvm-rhev PATCH 1/3] kvm: irqchip: trace changes on msi add/remove
76daa3
Bugzilla: 1448813
76daa3
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
76daa3
RH-Acked-by: Xiao Wang <jasowang@redhat.com>
76daa3
RH-Acked-by: Michael S. Tsirkin <mst@redhat.com>
76daa3
76daa3
It'll be nice to know which virq belongs to which device/vector when
76daa3
adding msi routes, so adding two more parameters for the add trace.
76daa3
76daa3
Meanwhile, releasing virq has no tracing before. Add one for it.
76daa3
76daa3
Signed-off-by: Peter Xu <peterx@redhat.com>
76daa3
Message-Id: <1494309644-18743-2-git-send-email-peterx@redhat.com>
76daa3
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
76daa3
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
76daa3
(cherry picked from commit 9fa1e6b19866d0ff8a6ec5e7b54fead055256970)
76daa3
Signed-off-by: Peter Xu <peterx@redhat.com>
76daa3
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
76daa3
---
76daa3
 kvm-all.c    | 4 +++-
76daa3
 trace-events | 3 ++-
76daa3
 2 files changed, 5 insertions(+), 2 deletions(-)
76daa3
76daa3
diff --git a/kvm-all.c b/kvm-all.c
76daa3
index 4322aa3..128f5c8 100644
76daa3
--- a/kvm-all.c
76daa3
+++ b/kvm-all.c
76daa3
@@ -1144,6 +1144,7 @@ void kvm_irqchip_release_virq(KVMState *s, int virq)
76daa3
     }
76daa3
     clear_gsi(s, virq);
76daa3
     kvm_arch_release_virq_post(virq);
76daa3
+    trace_kvm_irqchip_release_virq(virq);
76daa3
 }
76daa3
 
76daa3
 static unsigned int kvm_hash_msi(uint32_t data)
76daa3
@@ -1287,7 +1288,8 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev)
76daa3
         return -EINVAL;
76daa3
     }
76daa3
 
76daa3
-    trace_kvm_irqchip_add_msi_route(virq);
76daa3
+    trace_kvm_irqchip_add_msi_route(dev ? dev->name : (char *)"N/A",
76daa3
+                                    vector, virq);
76daa3
 
76daa3
     kvm_add_routing_entry(s, &kroute);
76daa3
     kvm_arch_add_msi_route_post(&kroute, vector, dev);
76daa3
diff --git a/trace-events b/trace-events
76daa3
index 4db44d0..bd54701 100644
76daa3
--- a/trace-events
76daa3
+++ b/trace-events
76daa3
@@ -85,8 +85,9 @@ kvm_device_ioctl(int fd, int type, void *arg) "dev fd %d, type 0x%x, arg %p"
76daa3
 kvm_failed_reg_get(uint64_t id, const char *msg) "Warning: Unable to retrieve ONEREG %" PRIu64 " from KVM: %s"
76daa3
 kvm_failed_reg_set(uint64_t id, const char *msg) "Warning: Unable to set ONEREG %" PRIu64 " to KVM: %s"
76daa3
 kvm_irqchip_commit_routes(void) ""
76daa3
-kvm_irqchip_add_msi_route(int virq) "Adding MSI route virq=%d"
76daa3
+kvm_irqchip_add_msi_route(char *name, int vector, int virq) "dev %s vector %d virq %d"
76daa3
 kvm_irqchip_update_msi_route(int virq) "Updating MSI route virq=%d"
76daa3
+kvm_irqchip_release_virq(int virq) "virq %d"
76daa3
 
76daa3
 # TCG related tracing (mostly disabled by default)
76daa3
 # cpu-exec.c
76daa3
-- 
76daa3
1.8.3.1
76daa3