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: dev@dpdk.org
          Reporter: topche...@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?

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to