The idea behind this series is to prevent Doorbell drops on some of the Broadcom adapters that require Doorbell moderation. This is achieved by pacing the doorbell writes into the hardware FIFO. The rate at which individual doorbells are written needs to be dynamically adjusted, because it depends on the ability of the hardware to drain the FIFO and on the number and behavior of individual doorbell writers. When congestion is detected by the user library, it notifies the driver and driver adjust the pacing parameters dynamically in a shared page, which will be used for pacing the Doorbells. Currently this feature is targeted only for user applications. The corresponding library patches will be posted soon. I am waiting for my previous pull request for libbnxt_re to be merged before initiating the new pull request. Thanks, Selvin Xavier Chandramohan Akula (7): bnxt_en: Update HW interface headers bnxt_en: Share the bar0 address with the RoCE driver RDMA/bnxt_re: Initialize Doorbell pacing feature RDMA/bnxt_re: Enable pacing support for the user apps RDMA/bnxt_re: Update alloc_page uapi for pacing RDMA/bnxt_re: Implement doorbell pacing algorithm RDMA/bnxt_re: Add a new uapi for driver notification drivers/infiniband/hw/bnxt_re/bnxt_re.h | 27 ++++ drivers/infiniband/hw/bnxt_re/ib_verbs.c | 51 +++++- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 2 + drivers/infiniband/hw/bnxt_re/main.c | 220 ++++++++++++++++++++++++++ drivers/infiniband/hw/bnxt_re/qplib_res.h | 19 +++ drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 54 +++++++ drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 + include/uapi/rdma/bnxt_re-abi.h | 7 + 9 files changed, 378 insertions(+), 5 deletions(-) -- 2.5.5
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature