diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index e763b7177..dbbc1c63a 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -240,7 +240,9 @@ vq_used_ring_enqueue(struct rte_vhost_vring *vq, uint16_t id, uint32_t len) rte_compiler_barrier(); vq->used->idx = vq->last_used_idx; - eventfd_write(vq->callfd, (eventfd_t)1); + if (!(vq->avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) { + eventfd_write(vq->callfd, (eventfd_t)1); + } } static bool