This small patchset introduces the support of hardware statistics.
Statistics counters can not be put in CQEs due to limited CQE size. To
address this, we provide an extra dma buffer to hardware when posting
statistics query request, and then hardware writes back the response to
this dma buffer. Based on this, we add the hardware statistics support
of erdma.
- #1 introduces dma pool used for hardware responses of CMDQ requests.
- #2 adds hardware statistics support.
Changes in v2:
- Remove extra layer of erdma_dma_pools_init and erdma_dma_pools_destroy
- Move ERDMA_HW_RESP_SIZE from patch #2 to #1 because it's used in #1
- Remove unrelated change in patch #2
- Remove "hw_" prefix and add "tx_" prefix to some items in erdma_descs
- Use dma_pool_zalloc instead of dma_pool_alloc with __GFP_ZERO flag
- Remove port index check logic in erdma_get_hw_stats
Cheng Xu (2):
RDMA/erdma: Introduce dma pool for hardware responses of CMDQ requests
RDMA/erdma: Add hardware statistics support
drivers/infiniband/hw/erdma/erdma.h | 2 +
drivers/infiniband/hw/erdma/erdma_hw.h | 39 ++++++++++
drivers/infiniband/hw/erdma/erdma_main.c | 26 ++++++-
drivers/infiniband/hw/erdma/erdma_verbs.c | 89 +++++++++++++++++++++++
drivers/infiniband/hw/erdma/erdma_verbs.h | 4 +
5 files changed, 158 insertions(+), 2 deletions(-)