On 19.02.2016 10:06, Yuanhan Liu wrote: > On Fri, Feb 19, 2016 at 09:32:41AM +0300, Ilya Maximets wrote: >> Array of buf_vector's is just an array for temporary storing information >> about available descriptors. It used only locally in virtio_dev_merge_rx() >> and there is no reason for that array to be shared. >> >> Fix that by allocating local buf_vec inside virtio_dev_merge_rx(). >> >> Signed-off-by: Ilya Maximets <i.maximets at samsung.com> >> --- >> lib/librte_vhost/rte_virtio_net.h | 1 - >> lib/librte_vhost/vhost_rxtx.c | 45 >> ++++++++++++++++++++------------------- >> 2 files changed, 23 insertions(+), 23 deletions(-) >> >> diff --git a/lib/librte_vhost/rte_virtio_net.h >> b/lib/librte_vhost/rte_virtio_net.h >> index 10dcb90..ae1e4fb 100644 >> --- a/lib/librte_vhost/rte_virtio_net.h >> +++ b/lib/librte_vhost/rte_virtio_net.h >> @@ -91,7 +91,6 @@ struct vhost_virtqueue { >> int kickfd; /**< Currently unused >> as polling mode is enabled. */ >> int enabled; >> uint64_t reserved[16]; /**< Reserve some >> spaces for future extension. */ >> - struct buf_vector buf_vec[BUF_VECTOR_MAX]; /**< for >> scatter RX. */ >> } __rte_cache_aligned; > > I like this kind of cleanup, however, it breaks ABI.
Should I prepare version of this patch with field above marked as deprecated and add note to doc/guides/rel_notes/release_16_04.rst about future deletion? Best regards, Ilya Maximets.