From: Tiwei Bie <tiwei.bie@intel.com>
To: Marvin Liu <yong.liu@intel.com>
Cc: maxime.coquelin@redhat.com, zhihong.wang@intel.com, dev@dpdk.org
Subject: Re: [PATCH 6/7] net/virtio: add IN_ORDER Rx/Tx into selection
Date: Wed, 20 Jun 2018 15:44:42 +0800 [thread overview]
Message-ID: <20180620074442.GB4686@debian> (raw)
In-Reply-To: <20180608090724.20855-7-yong.liu@intel.com>
On Fri, Jun 08, 2018 at 05:07:23PM +0800, Marvin Liu wrote:
[...]
>
> @@ -634,6 +634,24 @@ virtio_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t queue_idx)
> virtio_rxq_rearm_vec(rxvq);
> nbufs += RTE_VIRTIO_VPMD_RX_REARM_THRESH;
> }
> + } else if (hw->use_inorder_rx) {
> + if ((!virtqueue_full(vq))) {
> + uint16_t free_cnt = vq->vq_free_cnt;
> + struct rte_mbuf *pkts[free_cnt];
> +
> + if (!rte_pktmbuf_alloc_bulk(rxvq->mpool, pkts, free_cnt)) {
> + error = virtqueue_enqueue_inorder_refill(vq,
> + pkts,
> + free_cnt);
> + if (unlikely(error)) {
> + for (i = 0; i < free_cnt; i++)
> + rte_pktmbuf_free(pkts[i]);
> + }
> + }
> +
> + nbufs += free_cnt;
> + vq_update_avail_idx(vq);
It looks a bit weird to introduce above code
in this patch.
> + }
> } else {
> while (!virtqueue_full(vq)) {
> m = rte_mbuf_raw_alloc(rxvq->mpool);
> diff --git a/drivers/net/virtio/virtqueue.c b/drivers/net/virtio/virtqueue.c
> index a7d0a9cbe..56a77cc71 100644
> --- a/drivers/net/virtio/virtqueue.c
> +++ b/drivers/net/virtio/virtqueue.c
> @@ -74,6 +74,14 @@ virtqueue_rxvq_flush(struct virtqueue *vq)
> desc_idx = used_idx;
> rte_pktmbuf_free(vq->sw_ring[desc_idx]);
> vq->vq_free_cnt++;
> + } else if (hw->use_inorder_rx) {
> + desc_idx = (uint16_t)uep->id;
> + dxp = &vq->vq_descx[desc_idx];
> + if (dxp->cookie != NULL) {
> + rte_pktmbuf_free(dxp->cookie);
> + dxp->cookie = NULL;
> + }
Ditto.
> + vq_ring_free_inorder(vq, desc_idx, 1);
> } else {
> desc_idx = (uint16_t)uep->id;
> dxp = &vq->vq_descx[desc_idx];
> --
> 2.17.0
>
next prev parent reply other threads:[~2018-06-20 7:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-08 9:07 [PATCH 0/7] support VIRTIO_F_IN_ORDER feature Marvin Liu
2018-06-08 2:11 ` Liu, Yong
2018-06-08 9:07 ` [PATCH 1/7] vhost: announce VIRTIO_F_IN_ORDER support Marvin Liu
2018-06-13 6:18 ` Tiwei Bie
2018-06-08 9:07 ` [PATCH 2/7] net/virtio: add VIRTIO_F_IN_ORDER definition Marvin Liu
2018-06-08 9:07 ` [PATCH 3/7] net/virtio-user: add mgr_rxbuf and in_order vdev parameters Marvin Liu
2018-06-13 6:37 ` Tiwei Bie
2018-06-08 9:07 ` [PATCH 4/7] net/virtio: free IN_ORDER descriptors Marvin Liu
2018-06-08 9:07 ` [PATCH 5/7] net/virtio: support IN_ORDER Rx and Tx Marvin Liu
2018-06-20 7:41 ` Tiwei Bie
2018-06-22 8:05 ` Liu, Yong
2018-06-08 9:07 ` [PATCH 6/7] net/virtio: add IN_ORDER Rx/Tx into selection Marvin Liu
2018-06-20 7:44 ` Tiwei Bie [this message]
2018-06-20 16:13 ` Liu, Yong
2018-06-08 9:07 ` [PATCH 7/7] net/virtio: annouce VIRTIO_F_IN_ORDER support Marvin Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180620074442.GB4686@debian \
--to=tiwei.bie@intel.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=yong.liu@intel.com \
--cc=zhihong.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.