[Qemu-devel] [PATCH v2 1/3] kvm: irqchip: trace changes on msi add/remove

Peter Xu posted 3 patches 8 years, 9 months ago
[Qemu-devel] [PATCH v2 1/3] kvm: irqchip: trace changes on msi add/remove
Posted by Peter Xu 8 years, 9 months ago
It'll be nice to know which virq belongs to which device/vector when
adding msi routes, so adding two more parameters for the add trace.

Meanwhile, releasing virq has no tracing before. Add one for it.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 kvm-all.c    | 4 +++-
 trace-events | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/kvm-all.c b/kvm-all.c
index 90b8573..2598b1f 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1144,6 +1144,7 @@ void kvm_irqchip_release_virq(KVMState *s, int virq)
     }
     clear_gsi(s, virq);
     kvm_arch_release_virq_post(virq);
+    trace_kvm_irqchip_release_virq(virq);
 }
 
 static unsigned int kvm_hash_msi(uint32_t data)
@@ -1287,7 +1288,8 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev)
         return -EINVAL;
     }
 
-    trace_kvm_irqchip_add_msi_route(virq);
+    trace_kvm_irqchip_add_msi_route(dev ? dev->name : (char *)"N/A",
+                                    vector, virq);
 
     kvm_add_routing_entry(s, &kroute);
     kvm_arch_add_msi_route_post(&kroute, vector, dev);
diff --git a/trace-events b/trace-events
index e582d63..f01ec05 100644
--- a/trace-events
+++ b/trace-events
@@ -69,8 +69,9 @@ kvm_device_ioctl(int fd, int type, void *arg) "dev fd %d, type 0x%x, arg %p"
 kvm_failed_reg_get(uint64_t id, const char *msg) "Warning: Unable to retrieve ONEREG %" PRIu64 " from KVM: %s"
 kvm_failed_reg_set(uint64_t id, const char *msg) "Warning: Unable to set ONEREG %" PRIu64 " to KVM: %s"
 kvm_irqchip_commit_routes(void) ""
-kvm_irqchip_add_msi_route(int virq) "Adding MSI route virq=%d"
+kvm_irqchip_add_msi_route(char *name, int vector, int virq) "dev %s vector %d virq %d"
 kvm_irqchip_update_msi_route(int virq) "Updating MSI route virq=%d"
+kvm_irqchip_release_virq(int virq) "virq %d"
 
 # TCG related tracing (mostly disabled by default)
 # cpu-exec.c
-- 
2.7.4


Re: [Qemu-devel] [PATCH v2 1/3] kvm: irqchip: trace changes on msi add/remove
Posted by Philippe Mathieu-Daudé 8 years, 9 months ago
On 05/09/2017 03:00 AM, Peter Xu wrote:
> It'll be nice to know which virq belongs to which device/vector when
> adding msi routes, so adding two more parameters for the add trace.
>
> Meanwhile, releasing virq has no tracing before. Add one for it.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  kvm-all.c    | 4 +++-
>  trace-events | 3 ++-
>  2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/kvm-all.c b/kvm-all.c
> index 90b8573..2598b1f 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -1144,6 +1144,7 @@ void kvm_irqchip_release_virq(KVMState *s, int virq)
>      }
>      clear_gsi(s, virq);
>      kvm_arch_release_virq_post(virq);
> +    trace_kvm_irqchip_release_virq(virq);
>  }
>
>  static unsigned int kvm_hash_msi(uint32_t data)
> @@ -1287,7 +1288,8 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev)
>          return -EINVAL;
>      }
>
> -    trace_kvm_irqchip_add_msi_route(virq);
> +    trace_kvm_irqchip_add_msi_route(dev ? dev->name : (char *)"N/A",
> +                                    vector, virq);
>
>      kvm_add_routing_entry(s, &kroute);
>      kvm_arch_add_msi_route_post(&kroute, vector, dev);
> diff --git a/trace-events b/trace-events
> index e582d63..f01ec05 100644
> --- a/trace-events
> +++ b/trace-events
> @@ -69,8 +69,9 @@ kvm_device_ioctl(int fd, int type, void *arg) "dev fd %d, type 0x%x, arg %p"
>  kvm_failed_reg_get(uint64_t id, const char *msg) "Warning: Unable to retrieve ONEREG %" PRIu64 " from KVM: %s"
>  kvm_failed_reg_set(uint64_t id, const char *msg) "Warning: Unable to set ONEREG %" PRIu64 " to KVM: %s"
>  kvm_irqchip_commit_routes(void) ""
> -kvm_irqchip_add_msi_route(int virq) "Adding MSI route virq=%d"
> +kvm_irqchip_add_msi_route(char *name, int vector, int virq) "dev %s vector %d virq %d"
>  kvm_irqchip_update_msi_route(int virq) "Updating MSI route virq=%d"
> +kvm_irqchip_release_virq(int virq) "virq %d"
>
>  # TCG related tracing (mostly disabled by default)
>  # cpu-exec.c
>