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.

        --yliu

Reply via email to