[dpdk-dev] [PATCH v2 0/6] Restrict pointer aliasing with a commonwrapper

Morten Brørup mb at smartsharesystems.com
Thu Jul 9 15:52:34 CEST 2020


> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Joyce Kong
> Sent: Monday, July 6, 2020 9:49 AM
> 
> 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.
> 
> Joyce Kong (6):
>   lib/eal: add a wrapper to define restricted pointers
>   net/virtio: restrict pointer aliasing for NEON vpmd
>   lib/vhost: restrict pointer aliasing for packed vpmd
>   net/i40e: replace restrict with rte restrict
>   examples/performance-thread: replace restrict with wrapper
>   net/mlx5: replace restrict keyword with rte restrict
> 
>  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(-)
> 
> --
> 2.27.0
> 

If you are hunting for more places to add __rte_restrict, I will suggest rte_memcpy.h.




More information about the dev mailing list