From 0af9f992211cc0f59d6c3bb670510a746b4f3e16 Mon Sep 17 00:00:00 2001 From: Maxime Coquelin Date: Tue, 26 Oct 2021 18:28:56 +0200 Subject: [PATCH] vhost: remove useless fields in async iterator struct Offset and count fields are unused and so can be removed. The offset field was actually in the Vhost example, but in a way that does not make sense. Signed-off-by: Maxime Coquelin Reviewed-by: Chenbo Xia Reviewed-by: Jiayu Hu --- examples/vhost/ioat.c | 6 ++---- lib/vhost/rte_vhost_async.h | 4 ---- lib/vhost/virtio_net.c | 19 ++++--------------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c index dcbcf65e4e..a8c588deff 100644 --- a/examples/vhost/ioat.c +++ b/examples/vhost/ioat.c @@ -142,10 +142,8 @@ ioat_transfer_data_cb(int vid, uint16_t queue_id, break; while (i_seg < iter->nr_segs) { rte_ioat_enqueue_copy(dev_id, - (uintptr_t)(iter->iov[i_seg].src_addr) - + iter->offset, - (uintptr_t)(iter->iov[i_seg].dst_addr) - + iter->offset, + (uintptr_t)(iter->iov[i_seg].src_addr), + (uintptr_t)(iter->iov[i_seg].dst_addr), iter->iov[i_seg].len, 0, 0); diff --git a/lib/vhost/rte_vhost_async.h b/lib/vhost/rte_vhost_async.h index d7bb77bf90..4ea5cfab10 100644 --- a/lib/vhost/rte_vhost_async.h +++ b/lib/vhost/rte_vhost_async.h @@ -20,10 +20,6 @@ struct rte_vhost_iovec { * iovec iterator */ struct rte_vhost_iov_iter { - /** offset to the first byte of interesting data */ - size_t offset; - /** total bytes of data in this iterator */ - size_t count; /** pointer to the iovec array */ struct rte_vhost_iovec *iov; /** number of iovec in this iterator */ diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c index 3c8be48ca7..29254a1b11 100644 --- a/lib/vhost/virtio_net.c +++ b/lib/vhost/virtio_net.c @@ -933,19 +933,10 @@ async_fill_vec(struct rte_vhost_iovec *v, void *src, void *dst, size_t len) } static __rte_always_inline void -async_fill_iter(struct rte_vhost_iov_iter *it, size_t count, - struct rte_vhost_iovec *vec, unsigned long nr_seg) +async_fill_iter(struct rte_vhost_iov_iter *it, struct rte_vhost_iovec *vec, unsigned long nr_seg) { - it->offset = 0; - it->count = count; - - if (count) { - it->iov = vec; - it->nr_segs = nr_seg; - } else { - it->iov = 0; - it->nr_segs = 0; - } + it->iov = vec; + it->nr_segs = nr_seg; } static __rte_always_inline void @@ -971,7 +962,6 @@ async_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq, uint32_t cpy_len, buf_len; int error = 0; - uint32_t tlen = 0; int tvec_idx = 0; void *hpa; @@ -1076,7 +1066,6 @@ async_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq, (void *)(uintptr_t)rte_pktmbuf_iova_offset(m, mbuf_offset), hpa, (size_t)mapped_len); - tlen += (uint32_t)mapped_len; cpy_len -= (uint32_t)mapped_len; mbuf_avail -= (uint32_t)mapped_len; mbuf_offset += (uint32_t)mapped_len; @@ -1086,7 +1075,7 @@ async_mbuf_to_desc(struct virtio_net *dev, struct vhost_virtqueue *vq, } } - async_fill_iter(iter, tlen, iovec, tvec_idx); + async_fill_iter(iter, iovec, tvec_idx); out: return error; } -- 2.20.1