[00/20] Upgrade HAL and add ENI metrics support

Message ID 20200917053035.1889989-1-mk@semihalf.com (mailing list archive)


Michal Krawczyk Sept. 17, 2020, 5:30 a.m. UTC

this patchset contains upgrade of the of the HAL, which, beside some fixes, also
adds possibility for reading ENI metrics from the device.

Those are further exposed to the DPDK applicaiton using xstats.

As it's an extra call to the admin queue during a PMD runtime, for multithread
safet the locks had to be added around those functions.

Michal Krawczyk (20):
  net/ena/base: use min/max macros with type conversion
  net/ena/base: specify operations of rte_delay
  net/ena/base: support 'resource busy' admin status
  net/ena/base: exponential delay in polling functions
  net/ena/base: fix release of wait event
  net/ena/base: remove MMIOWB_NOT_DEFINED ifdef
  net/ena/base: rework setup of accelerated LLQ mode
  net/ena/base: add ENI stats
  net/ena/base: split RSS function and hash getters
  net/ena/base: do not use hardcoded RSS key buffer size
  net/ena/base: check for RSS key configuration support
  net/ena/base: minor style adjustments
  net/ena/base: add missing unlikely
  net/ena/base: store admin stats as u64
  net/ena/base: add check for meta desc being NULL
  net/ena/base: convert values to u32 before shifting
  net/ena/base: simplify loop copying Rx descs
  net/ena/base: update generation date and commit
  net/ena: lock dynamic usages of the admin queue
  net/ena: expose ENI stats as additional xstats

 drivers/net/ena/base/ena_com.c                | 137 ++++++++++++------
 drivers/net/ena/base/ena_com.h                |  57 ++++++--
 .../net/ena/base/ena_defs/ena_admin_defs.h    |  56 ++++++-
 .../net/ena/base/ena_defs/ena_eth_io_defs.h   |   3 +-
 drivers/net/ena/base/ena_defs/ena_gen_info.h  |   5 +-
 drivers/net/ena/base/ena_defs/ena_regs_defs.h |   3 +-
 drivers/net/ena/base/ena_eth_com.c            |  34 +++--
 drivers/net/ena/base/ena_eth_com.h            |   2 +-
 drivers/net/ena/base/ena_plat_dpdk.h          |  19 ++-
 drivers/net/ena/ena_ethdev.c                  |  86 ++++++++++-
 drivers/net/ena/ena_ethdev.h                  |  34 +++++
 11 files changed, 344 insertions(+), 92 deletions(-)