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 <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Reviewed-by: Jiayu Hu <jiayu.hu@intel.com>
This commit is contained in:
Maxime Coquelin 2021-10-26 18:28:56 +02:00
parent 6171bfbfb2
commit 0af9f99221
3 changed files with 6 additions and 23 deletions

View File

@ -142,10 +142,8 @@ ioat_transfer_data_cb(int vid, uint16_t queue_id,
break; break;
while (i_seg < iter->nr_segs) { while (i_seg < iter->nr_segs) {
rte_ioat_enqueue_copy(dev_id, rte_ioat_enqueue_copy(dev_id,
(uintptr_t)(iter->iov[i_seg].src_addr) (uintptr_t)(iter->iov[i_seg].src_addr),
+ iter->offset, (uintptr_t)(iter->iov[i_seg].dst_addr),
(uintptr_t)(iter->iov[i_seg].dst_addr)
+ iter->offset,
iter->iov[i_seg].len, iter->iov[i_seg].len,
0, 0,
0); 0);

View File

@ -20,10 +20,6 @@ struct rte_vhost_iovec {
* iovec iterator * iovec iterator
*/ */
struct rte_vhost_iov_iter { 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 */ /** pointer to the iovec array */
struct rte_vhost_iovec *iov; struct rte_vhost_iovec *iov;
/** number of iovec in this iterator */ /** number of iovec in this iterator */

View File

@ -933,19 +933,10 @@ async_fill_vec(struct rte_vhost_iovec *v, void *src, void *dst, size_t len)
} }
static __rte_always_inline void static __rte_always_inline void
async_fill_iter(struct rte_vhost_iov_iter *it, size_t count, async_fill_iter(struct rte_vhost_iov_iter *it, struct rte_vhost_iovec *vec, unsigned long nr_seg)
struct rte_vhost_iovec *vec, unsigned long nr_seg)
{ {
it->offset = 0; it->iov = vec;
it->count = count; it->nr_segs = nr_seg;
if (count) {
it->iov = vec;
it->nr_segs = nr_seg;
} else {
it->iov = 0;
it->nr_segs = 0;
}
} }
static __rte_always_inline void 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; uint32_t cpy_len, buf_len;
int error = 0; int error = 0;
uint32_t tlen = 0;
int tvec_idx = 0; int tvec_idx = 0;
void *hpa; 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, (void *)(uintptr_t)rte_pktmbuf_iova_offset(m,
mbuf_offset), hpa, (size_t)mapped_len); mbuf_offset), hpa, (size_t)mapped_len);
tlen += (uint32_t)mapped_len;
cpy_len -= (uint32_t)mapped_len; cpy_len -= (uint32_t)mapped_len;
mbuf_avail -= (uint32_t)mapped_len; mbuf_avail -= (uint32_t)mapped_len;
mbuf_offset += (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: out:
return error; return error;
} }