RDMA/bnxt_re: Implement doorbell pacing algorithm
authorChandramohan Akula <chandramohan.akula@broadcom.com>
Wed, 19 Jul 2023 05:02:56 +0000 (22:02 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 21 Jul 2023 19:15:32 +0000 (16:15 -0300)
commit2ad4e6303a6d7518632739eaf67821a3553db1bd
tree09789e912a74015f608580c607f7ae63c5515cfa
parentea222485788208cd79bad42d25aae9232b33a934
RDMA/bnxt_re: Implement doorbell pacing algorithm

User applications alert the driver when the Doorbell FIFO
reaches the alarm threshold. The driver updates the pacing
parameters in the shared page to do the maximum pacing
by the application till the DB FIFO congestion reduces to
pacing threshold. Driver keeps checking the DB FIFO depth
at the pacing interval and gradually adjusts the pacing level.
Once the pacing level reaches default values (no congestion in
the FIFO) pacing gets completed.

Link: https://lore.kernel.org/r/1689742977-9128-7-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/bnxt_re.h
drivers/infiniband/hw/bnxt_re/main.c