Re: [dpdk-dev] [PATCH v4 1/2] vhost: cleanup async enqueue
From: Maxime Coquelin <hidden>
Date: 2021-01-11 11:04:18
On 1/11/21 1:16 PM, Jiayu Hu wrote:
quoted hunk ↗ jump to hunk
This patch removes unnecessary check and function calls, and it changes appropriate types for internal variables and fixes typos. Signed-off-by: Jiayu Hu <redacted> Tested-by: Yinan Wang <redacted> --- lib/librte_vhost/rte_vhost_async.h | 8 ++++---- lib/librte_vhost/virtio_net.c | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-)diff --git a/lib/librte_vhost/rte_vhost_async.h b/lib/librte_vhost/rte_vhost_async.h index c73bd7c..03bd558 100644 --- a/lib/librte_vhost/rte_vhost_async.h +++ b/lib/librte_vhost/rte_vhost_async.h@@ -112,7 +112,7 @@ struct rte_vhost_async_features { }; /** - * register a async channel for vhost + * register an async channel for vhost * * @param vid * vhost device id async channel to be attached to@@ -147,8 +147,8 @@ __rte_experimental int rte_vhost_async_channel_unregister(int vid, uint16_t queue_id); /** - * This function submit enqueue data to async engine. This function has - * no guranttee to the transfer completion upon return. Applications + * This function submits enqueue data to async engine. This function has + * no guarantee to the transfer completion upon return. Applications * should poll transfer status by rte_vhost_poll_enqueue_completed() * * @param vid@@ -167,7 +167,7 @@ uint16_t rte_vhost_submit_enqueue_burst(int vid, uint16_t queue_id, struct rte_mbuf **pkts, uint16_t count); /** - * This function check async completion status for a specific vhost + * This function checks async completion status for a specific vhost * device queue. Packets which finish copying (enqueue) operation * will be returned in an array. *diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c index fec08b2..0b63940 100644 --- a/lib/librte_vhost/virtio_net.c +++ b/lib/librte_vhost/virtio_net.c@@ -1130,8 +1130,11 @@ async_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq, } out: - async_fill_iter(src_it, tlen, src_iovec, tvec_idx); - async_fill_iter(dst_it, tlen, dst_iovec, tvec_idx); + if (tlen) { + async_fill_iter(src_it, tlen, src_iovec, tvec_idx); + async_fill_iter(dst_it, tlen, dst_iovec, tvec_idx); + } else + src_it->count = 0;
Minor comment, you need braces for the 'else' as there are braces for the 'if'. I will fix while applying. Thanks, Maxime