[v9,0/4] eal: add WC store functions
mbox series

Message ID 1595236337-28230-1-git-send-email-radu.nicolau@intel.com
Headers show
Series
  • eal: add WC store functions
Related show

Message

Nicolau, Radu July 20, 2020, 9:12 a.m. UTC
Implement 2 new functions that will enable write combining
stores depending on architecture. The functions are provided
as a generic stub and a x86 specific implementation.

The reason to implement these functions is to improve performance
by reducing the overhead associated with regular mmio writes when
updating the hardware queue tails and doorbells.

With this patch set the I40E, IXGBE and QAT PMDs are updated to
use the write combining store functions with other PMDs to follow.

Radu Nicolau (4):
  eal: add WC store functions
  net/i40e: use WC store to update queue tail registers
  common/qat: use WC store to update queue tail registers
  net/ixgbe: use WC store to update queue tail registers

 .../qat/qat_adf/adf_transport_access_macros.h      |  6 ++-
 drivers/net/i40e/base/i40e_osdep.h                 |  5 ++
 drivers/net/i40e/i40e_rxtx.c                       |  8 ++--
 drivers/net/i40e/i40e_rxtx_vec_avx2.c              |  4 +-
 drivers/net/i40e/i40e_rxtx_vec_sse.c               |  4 +-
 drivers/net/ixgbe/base/ixgbe_osdep.h               |  6 +++
 drivers/net/ixgbe/ixgbe_rxtx.c                     | 15 +++---
 drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c             |  4 +-
 lib/librte_eal/arm/include/rte_io_64.h             | 12 +++++
 lib/librte_eal/include/generic/rte_io.h            | 48 +++++++++++++++++++
 lib/librte_eal/x86/include/rte_io.h                | 56 ++++++++++++++++++++++
 11 files changed, 149 insertions(+), 19 deletions(-)