[EXTERNAL] Re: [v5 1/5] vhost: skip crypto op fetch before vring init
Gowrishankar Muthukrishnan
gmuthukrishn at marvell.com
Wed Feb 26 18:40:07 CET 2025
Hi Maxime,
> >
> > + if (unlikely(vq == NULL)) {
> > + VC_LOG_ERR("Invalid virtqueue %u", qid);
> > + return 0;
> > + }
> > +
> > + if (unlikely(vq->avail == NULL)) {
> > + VC_LOG_DBG("Virtqueue ring not yet initialized %u", qid);
> > + return 0;
> > + }
> > +
>
> I think the proper fix to:
> 1. acquire the access_lock as reader
> 2. check whether vq is enabled
> 3. acquire the iotlb lock as a reader
> 4. check vq's access_ok
>
Ack. Except for vq->enabled, next version of this patch would carry these checks.
Current virtio crypto for vhost_user does not request SET_VRING_ENABLE, so this flag would not be set.
Thanks,
Gowrishankar
> You can have a look at rte_vhost_dequeue_burst for example.
>
> > avail_idx = *((volatile uint16_t *)&vq->avail->idx);
> > start_idx = vq->last_used_idx;
> > count = avail_idx - start_idx;
More information about the stable
mailing list