mbox series

[v2,for-next,00/17] RDMA/bnxt_re: Control path updates

Message ID 1686308514-11996-1-git-send-email-selvin.xavier@broadcom.com (mailing list archive)
Headers show
Series RDMA/bnxt_re: Control path updates | expand

Message

Selvin Xavier June 9, 2023, 11:01 a.m. UTC
This patch series from Kashyap includes code refactoring and some
optimizations in the FW control path of the driver. It also address
some of the issues seen as we scale up the HW resources.
It also includes few bug fixes in the control path.

Please review and apply.

Thanks,
Selvin Xavier

v1 -> v2:
 - Fix the warning reported by kbuild test robot in patch 10 about
   variables set and not used. Rebased the other patches based on
   the modified patch.
 - Reported-by: kernel test robot <lkp@intel.com>

Kashyap Desai (17):
  RDMA/bnxt_re: wraparound mbox producer index
  RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
  RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel
  RDMA/bnxt_re: set fixed command queue depth
  RDMA/bnxt_re: Enhance the existing functions that wait for FW
    responses
  RDMA/bnxt_re: Avoid the command wait if firmware is inactive
  RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command
  RDMA/bnxt_re: Simplify the function that sends the FW commands
  RDMA/bnxt_re: add helper function __poll_for_resp
  RDMA/bnxt_re: handle command completions after driver detect a
    timedout
  RDMA/bnxt_re: Add firmware stall check detection
  RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation
  RDMA/bnxt_re: consider timeout of destroy ah as success.
  RDMA/bnxt_re: cancel all control path command waiters upon error.
  RDMA/bnxt_re: use firmware provided max request timeout
  RDMA/bnxt_re: remove redundant cmdq_bitmap
  RDMA/bnxt_re: optimize the parameters passed to helper functions

 drivers/infiniband/hw/bnxt_re/bnxt_re.h    |   2 +
 drivers/infiniband/hw/bnxt_re/ib_verbs.c   |  16 +-
 drivers/infiniband/hw/bnxt_re/main.c       |  11 +-
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 627 ++++++++++++++++++++++-------
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h |  51 ++-
 drivers/infiniband/hw/bnxt_re/qplib_res.h  |   1 +
 drivers/infiniband/hw/bnxt_re/qplib_sp.c   |   8 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h   |   4 +-
 8 files changed, 557 insertions(+), 163 deletions(-)

Comments

Leon Romanovsky June 12, 2023, 7:12 a.m. UTC | #1
On Fri, Jun 09, 2023 at 04:01:37AM -0700, Selvin Xavier wrote:
> This patch series from Kashyap includes code refactoring and some
> optimizations in the FW control path of the driver. It also address
> some of the issues seen as we scale up the HW resources.
> It also includes few bug fixes in the control path.
> 
> Please review and apply.
> 
> Thanks,
> Selvin Xavier
> 
> v1 -> v2:
>  - Fix the warning reported by kbuild test robot in patch 10 about
>    variables set and not used. Rebased the other patches based on
>    the modified patch.
>  - Reported-by: kernel test robot <lkp@intel.com>
> 
> Kashyap Desai (17):
>   RDMA/bnxt_re: wraparound mbox producer index
>   RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
>   RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel
>   RDMA/bnxt_re: set fixed command queue depth
>   RDMA/bnxt_re: Enhance the existing functions that wait for FW
>     responses
>   RDMA/bnxt_re: Avoid the command wait if firmware is inactive
>   RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command
>   RDMA/bnxt_re: Simplify the function that sends the FW commands
>   RDMA/bnxt_re: add helper function __poll_for_resp
>   RDMA/bnxt_re: handle command completions after driver detect a
>     timedout
>   RDMA/bnxt_re: Add firmware stall check detection
>   RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation
>   RDMA/bnxt_re: consider timeout of destroy ah as success.
>   RDMA/bnxt_re: cancel all control path command waiters upon error.
>   RDMA/bnxt_re: use firmware provided max request timeout
>   RDMA/bnxt_re: remove redundant cmdq_bitmap
>   RDMA/bnxt_re: optimize the parameters passed to helper functions

I applied whole series as is. It looks good enough, but please address
my concern about atomit_t.

Thanks

> 
>  drivers/infiniband/hw/bnxt_re/bnxt_re.h    |   2 +
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c   |  16 +-
>  drivers/infiniband/hw/bnxt_re/main.c       |  11 +-
>  drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 627 ++++++++++++++++++++++-------
>  drivers/infiniband/hw/bnxt_re/qplib_rcfw.h |  51 ++-
>  drivers/infiniband/hw/bnxt_re/qplib_res.h  |   1 +
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c   |   8 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h   |   4 +-
>  8 files changed, 557 insertions(+), 163 deletions(-)

> 
> -- 
> 2.5.5
>
Leon Romanovsky June 12, 2023, 7:12 a.m. UTC | #2
On Fri, 09 Jun 2023 04:01:37 -0700, Selvin Xavier wrote:
> This patch series from Kashyap includes code refactoring and some
> optimizations in the FW control path of the driver. It also address
> some of the issues seen as we scale up the HW resources.
> It also includes few bug fixes in the control path.
> 
> Please review and apply.
> 
> [...]

Applied, thanks!

[01/17] RDMA/bnxt_re: wraparound mbox producer index
        https://git.kernel.org/rdma/rdma/c/0af91306e17ef3
[02/17] RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
        https://git.kernel.org/rdma/rdma/c/3099bcdc19b701
[03/17] RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel
        https://git.kernel.org/rdma/rdma/c/b021186bca9d6b
[04/17] RDMA/bnxt_re: set fixed command queue depth
        https://git.kernel.org/rdma/rdma/c/258ee04317dacf
[05/17] RDMA/bnxt_re: Enhance the existing functions that wait for FW responses
        https://git.kernel.org/rdma/rdma/c/8cf1d12ad56beb
[06/17] RDMA/bnxt_re: Avoid the command wait if firmware is inactive
        https://git.kernel.org/rdma/rdma/c/3022cc15119733
[07/17] RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command
        https://git.kernel.org/rdma/rdma/c/65288a22ddd814
[08/17] RDMA/bnxt_re: Simplify the function that sends the FW commands
        https://git.kernel.org/rdma/rdma/c/159cf95e42a7ca
[09/17] RDMA/bnxt_re: add helper function __poll_for_resp
        https://git.kernel.org/rdma/rdma/c/354f5bd985af95
[10/17] RDMA/bnxt_re: handle command completions after driver detect a timedout
        https://git.kernel.org/rdma/rdma/c/691eb7c6110fe0
[11/17] RDMA/bnxt_re: Add firmware stall check detection
        https://git.kernel.org/rdma/rdma/c/b6c7256688264f
[12/17] RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation
        https://git.kernel.org/rdma/rdma/c/84911cf3b2aa8d
[13/17] RDMA/bnxt_re: consider timeout of destroy ah as success.
        https://git.kernel.org/rdma/rdma/c/bb8c93618fb0b8
[14/17] RDMA/bnxt_re: cancel all control path command waiters upon error.
        https://git.kernel.org/rdma/rdma/c/a00278521c9107
[15/17] RDMA/bnxt_re: use firmware provided max request timeout
        https://git.kernel.org/rdma/rdma/c/f0c875ff629396
[16/17] RDMA/bnxt_re: remove redundant cmdq_bitmap
        https://git.kernel.org/rdma/rdma/c/bcfee4ce3e0139
[17/17] RDMA/bnxt_re: optimize the parameters passed to helper functions
        https://git.kernel.org/rdma/rdma/c/830f93f47068b1

Best regards,