aboutsummaryrefslogtreecommitdiffstats
path: root/tools/virtio/vringh_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/virtio/vringh_test.c')
-rw-r--r--tools/virtio/vringh_test.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c
index d053ea40c001..14a4f4cab5b9 100644
--- a/tools/virtio/vringh_test.c
+++ b/tools/virtio/vringh_test.c
@@ -22,7 +22,7 @@ static u64 user_addr_offset;
22#define RINGSIZE 256 22#define RINGSIZE 256
23#define ALIGN 4096 23#define ALIGN 4096
24 24
25static void never_notify_host(struct virtqueue *vq) 25static bool never_notify_host(struct virtqueue *vq)
26{ 26{
27 abort(); 27 abort();
28} 28}
@@ -65,17 +65,22 @@ struct guest_virtio_device {
65 unsigned long notifies; 65 unsigned long notifies;
66}; 66};
67 67
68static void parallel_notify_host(struct virtqueue *vq) 68static bool parallel_notify_host(struct virtqueue *vq)
69{ 69{
70 int rc;
70 struct guest_virtio_device *gvdev; 71 struct guest_virtio_device *gvdev;
71 72
72 gvdev = container_of(vq->vdev, struct guest_virtio_device, vdev); 73 gvdev = container_of(vq->vdev, struct guest_virtio_device, vdev);
73 write(gvdev->to_host_fd, "", 1); 74 rc = write(gvdev->to_host_fd, "", 1);
75 if (rc < 0)
76 return false;
74 gvdev->notifies++; 77 gvdev->notifies++;
78 return true;
75} 79}
76 80
77static void no_notify_host(struct virtqueue *vq) 81static bool no_notify_host(struct virtqueue *vq)
78{ 82{
83 return true;
79} 84}
80 85
81#define NUM_XFERS (10000000) 86#define NUM_XFERS (10000000)