[dpdk-dev] [PATCH v2 0/5] fix and optimize barriers usage with some PMDs

Gavin Hu gavin.hu at arm.com
Mon Sep 16 13:27:13 CEST 2019

DPDK has well-defined barriers, such as CIO barriers and IO barriers.

X86, as a strong ordering model, implements the barriers as compiler
barriers, but on aarch64, as a weak memory ordering model, has fine
grained barriers. Using correct while as relaxed as possible barriers
makes a perf difference.

Upon investigation on a batch of PMDs and it was found that the barriers
are not always used correctly or relaxedly enough. 

This series of patches is to optimize the barrier usage with some selected
PMDs and aim at best performance on all arches/platforms. 

More PMDs may come next to this series but it takes time.

Gavin Hu (5):
  net/i40e: use relaxed and remove duplicate barrier
  net/ice: use relaxed and remove duplicate barrier
  net/bnxt: remove duplicate barrier
  net/bnxt: replace with cio barrier for doorbell resp
  net/bnxt: enforce io barrier for doorbell command

 drivers/net/bnxt/bnxt_hwrm.c | 11 +++++++----
 drivers/net/i40e/i40e_rxtx.c | 12 +++---------
 drivers/net/ice/ice_rxtx.c   |  6 ------
 3 files changed, 10 insertions(+), 19 deletions(-)


More information about the dev mailing list