[dpdk-dev] [PATCH v2 4/9] net/virtio: add Rx queue intr enable/disable functions
Yuanhan Liu
yuanhan.liu at linux.intel.com
Fri Dec 30 06:59:07 CET 2016
On Thu, Dec 29, 2016 at 07:30:38AM +0000, Jianfeng Tan wrote:
> /*
> * Two types of mbuf to be cleaned:
> * 1) mbuf that has been consumed by backend but not used by virtio.
> diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
> index f0bb089..62be136 100644
> --- a/drivers/net/virtio/virtqueue.h
> +++ b/drivers/net/virtio/virtqueue.h
> @@ -274,7 +274,29 @@ vring_desc_init(struct vring_desc *dp, uint16_t n)
> /**
> * Tell the backend not to interrupt us.
> */
> -void virtqueue_disable_intr(struct virtqueue *vq);
> +static inline void
> +virtqueue_disable_intr(struct virtqueue *vq)
> +{
> + /* Set VRING_AVAIL_F_NO_INTERRUPT to hint host
> + * not to interrupt when it consumes packets
> + * Note: this is only considered a hint to the host
> + */
> + vq->vq_ring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT;
> +}
> +
> +/**
> + * Tell the backend to interrupt us.
> + */
> +static inline void
> +virtqueue_enable_intr(struct virtqueue *vq)
> +{
> + /* Unset VRING_AVAIL_F_NO_INTERRUPT to hint host
> + * to interrupt when it consumes packets
> + * Note: this is only considered a hint to the host
> + */
This kind of comment is a bit weird to me; it becomes weird-er when it
appears twice. Maybe we could just drop it, as the code already expains
it well (disabling interrupt regarding to NO_INTERRUPT). Or, you could
combine the two and write one comment before the two functions.
--yliu
> + vq->vq_ring.avail->flags &= (~VRING_AVAIL_F_NO_INTERRUPT);
> +}
> +
> /**
> * Dump virtqueue internal structures, for debug purpose only.
> */
> --
> 2.7.4
More information about the dev
mailing list