[dpdk-dev] [PATCH v3 0/3] restrict pointer aliasing with a common wrapper

David Marchand david.marchand at redhat.com
Fri Jul 10 16:05:41 CEST 2020


On Fri, Jul 10, 2020 at 4:42 AM Joyce Kong <joyce.kong at arm.com> wrote:
>
> As the 'restrict' keyword is recognized in C99, this patchset is to
> add a wrapper defining '__rte_restrict' which can be supported by
> all compilers. Then replace the existing 'restrict' and '__restrict'
> in different vpmds, and optimize vhost/virtio with restricted pointer
> aliasing for more aggressive loops vectorization.
>
> The vhost/virtio optimization patches were benchmarked by running PVP
> case on ThunderX2 platform and showed positive performance results.
>
> v3:
>   1.Correct the compiling issue on GCC 4.8.5.
>   2.Squash the replacement patches and wrapper definition into one
>     patch.(suggested by David Marchand)
>
> v2:
>   Add a common wrapper for restricted pointer aliasing to be supported
>   by all compilers.(suggested by Maxime Coquelin)
>
> Joyce Kong (3):
>   lib/eal: add a common wrapper for restricted pointers
>   net/virtio: restrict pointer aliasing for NEON vpmd
>   lib/vhost: restrict pointer aliasing for packed vpmd
>
>  drivers/net/i40e/i40e_rxtx_vec_neon.c         |  17 +-
>  drivers/net/mlx5/mlx5_rxtx.c                  | 208 +++++++++---------
>  drivers/net/virtio/virtio_rxtx_simple_neon.c  |   5 +-
>  .../pthread_shim/pthread_shim.c               |  12 +-
>  lib/librte_eal/include/rte_common.h           |  10 +
>  lib/librte_vhost/virtio_net.c                 |  14 +-
>  6 files changed, 139 insertions(+), 127 deletions(-)
>

The changes are quite mechanical for the existing drivers.

On the vhost/virtio side, Maxime is off but Adrian had a look at the
generic bits.
The gains in vhost/virtio patches are interesting.

So I went and took those patches through the main branch.

Series applied, thanks Joyce.


-- 
David Marchand



More information about the dev mailing list