Skip to contentSkip to conversation

disable vhost guest notification not work when split queue and VIRTIO_RING_F_EVENT_IDX negotiated

DPDK/vhost/virtio Bug 1463 [email protected] 1 participant 1 message Jun 18, 2024

lore
Share & tools
lore
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1463

Bug ID: 1463
Summary: disable vhost guest notification not work when split
queue and VIRTIO_RING_F_EVENT_IDX negotiated
Product: DPDK
Version: unspecified
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: vhost/virtio
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---

in lib/vhost/vhost.c:

```
static inline int
vhost_enable_notify_split(struct virtio_net *dev,
                struct vhost_virtqueue *vq, int enable)
{
        if (vq->used == NULL)
                return -1;

        if (!(dev->features & (1ULL << VIRTIO_RING_F_EVENT_IDX))) {
                if (enable)
                        vq->used->flags &= ~VRING_USED_F_NO_NOTIFY;
                else
                        vq->used->flags |= VRING_USED_F_NO_NOTIFY;
        } else {
                if (enable)
                        vhost_avail_event(vq) = vq->last_avail_idx;
        }
        return 0;
}
```

when enable=0, this function do nothing when VIRTIO_RING_F_EVENT_IDX negotiated, casued the guest do unnecessary kicks when sending & receiving.

it is a bug or feature?

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.