[EXT] [PATCH] vhost: add device op to offload the interrupt kick
Eelco Chaudron
echaudro at redhat.com
Mon Mar 27 18:04:22 CEST 2023
On 27 Mar 2023, at 17:16, Gowrishankar Muthukrishnan wrote:
> Hi Eelco,
>
>> +void
>> +rte_vhost_notify_guest(int vid, uint16_t queue_id) {
>> + struct virtio_net *dev = get_device(vid);
>> + struct vhost_virtqueue *vq;
>> +
>> + if (!dev || queue_id >= VHOST_MAX_VRING)
>> + return;
>> +
>> + vq = dev->virtqueue[queue_id];
>> + if (!vq)
>> + return;
>> +
>> + rte_spinlock_lock(&vq->access_lock);
>> +
>
> Is spin lock needed here before system call ?
I assumed access_lock is protecting all the following fields in this structure, so I need the lock to read the vq->callfd, however, I can/should move the eventfd_write outside of the lock.
>> + if (vq->callfd >= 0)
>> + eventfd_write(vq->callfd, (eventfd_t)1);
>> +
>> + rte_spinlock_unlock(&vq->access_lock);
>> +}
>> +
>
> Thanks.
More information about the dev
mailing list