| 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 | dev@dpdk.org |
| Reporter | topchenfu@qq.com |
| 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?