On 2/19/2016 3:31 PM, Ilya Maximets wrote: > 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?
Ilya, you could follow the ABI process: http://dpdk.org/doc/guides/contributing/versioning.html > > Best regards, Ilya Maximets. >