71 lines
2.4 KiB
Diff
71 lines
2.4 KiB
Diff
|
|
From f5b5cba0b86caacdea334725bedcdfb689504b3a Mon Sep 17 00:00:00 2001
|
||
|
|
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
|
||
|
|
Date: Tue, 2 Aug 2022 10:49:57 +0100
|
||
|
|
Subject: [PATCH] hw/virtio: add some vhost-user trace events
|
||
|
|
MIME-Version: 1.0
|
||
|
|
Content-Type: text/plain; charset=UTF-8
|
||
|
|
Content-Transfer-Encoding: 8bit
|
||
|
|
|
||
|
|
These are useful for tracing the lifetime of vhost-user connections.
|
||
|
|
|
||
|
|
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
|
||
|
|
Message-Id: <20220802095010.3330793-10-alex.bennee@linaro.org>
|
||
|
|
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
|
||
|
|
Signed-off-by: fangyi <eric.fangyi@huawei.com>
|
||
|
|
---
|
||
|
|
hw/virtio/trace-events | 4 ++++
|
||
|
|
hw/virtio/vhost.c | 6 ++++++
|
||
|
|
2 files changed, 10 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events
|
||
|
|
index 63c7668e5b..b8a33b2a83 100644
|
||
|
|
--- a/hw/virtio/trace-events
|
||
|
|
+++ b/hw/virtio/trace-events
|
||
|
|
@@ -8,6 +8,10 @@ vhost_region_add_section_aligned(const char *name, uint64_t gpa, uint64_t size,
|
||
|
|
vhost_section(const char *name) "%s"
|
||
|
|
vhost_reject_section(const char *name, int d) "%s:%d"
|
||
|
|
vhost_iotlb_miss(void *dev, int step) "%p step %d"
|
||
|
|
+vhost_dev_cleanup(void *dev) "%p"
|
||
|
|
+vhost_dev_start(void *dev, const char *name) "%p:%s"
|
||
|
|
+vhost_dev_stop(void *dev, const char *name) "%p:%s"
|
||
|
|
+
|
||
|
|
|
||
|
|
# vhost-user.c
|
||
|
|
vhost_user_postcopy_end_entry(void) ""
|
||
|
|
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
|
||
|
|
index c1f5cb5b91..86c727d2ab 100644
|
||
|
|
--- a/hw/virtio/vhost.c
|
||
|
|
+++ b/hw/virtio/vhost.c
|
||
|
|
@@ -1460,6 +1460,8 @@ void vhost_dev_cleanup(struct vhost_dev *hdev)
|
||
|
|
{
|
||
|
|
int i;
|
||
|
|
|
||
|
|
+ trace_vhost_dev_cleanup(hdev);
|
||
|
|
+
|
||
|
|
for (i = 0; i < hdev->nvqs; ++i) {
|
||
|
|
vhost_virtqueue_cleanup(hdev->vqs + i);
|
||
|
|
}
|
||
|
|
@@ -1766,6 +1768,8 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
|
||
|
|
/* should only be called after backend is connected */
|
||
|
|
assert(hdev->vhost_ops);
|
||
|
|
|
||
|
|
+ trace_vhost_dev_start(hdev, vdev->name);
|
||
|
|
+
|
||
|
|
vdev->vhost_started = true;
|
||
|
|
hdev->started = true;
|
||
|
|
hdev->vdev = vdev;
|
||
|
|
@@ -1852,6 +1856,8 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev)
|
||
|
|
/* should only be called after backend is connected */
|
||
|
|
assert(hdev->vhost_ops);
|
||
|
|
|
||
|
|
+ trace_vhost_dev_stop(hdev, vdev->name);
|
||
|
|
+
|
||
|
|
if (hdev->vhost_ops->vhost_dev_start) {
|
||
|
|
hdev->vhost_ops->vhost_dev_start(hdev, false);
|
||
|
|
}
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|