[PULL,SRU,Bionic] ROCE/hns updates

Message ID 20180607180908.GA2799@xps13.dannf
State New
Headers show
Series
  • [PULL,SRU,Bionic] ROCE/hns updates
Related show

Pull-request

git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns-roce-bionic

Message

dann frazier June 7, 2018, 6:09 p.m.
BugLink: https://bugs.launchpad.net/bugs/1770974

Like hns3, the ROCE hns driver is under heavy development
upstream, and the current version in bionic is not usable (it relies
on hns3, which crashes on boot). Instead of surgically applying
individual bug fixes, let's pull in all the driver-local changes from
linux-next to address various issues (crashes, endian fixes, etc), and
leave us with an upstream-aligned base to ease future maintenance.

One patch required trivial backporting (it was applied on top of a
change that I skipped because it wasn't restricted to ROCE/hns), the
rest are all clean cherry-picks.

The following changes since commit 8019da40b729efc0dd3786baa0ab85c7e8768a24:

  UBUNTU: SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl (2018-06-05 15:53:19 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns-roce-bionic

for you to fetch changes up to 3b2b3ae82a0ad5941f675ea92040b0c8f482e776:

  RDMA/hns: Implement the disassociate_ucontext API (2018-06-07 11:28:50 -0600)

----------------------------------------------------------------
Andy Shevchenko (1):
      RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()

Jason Gunthorpe (1):
      RDMA/hns: Use structs to describe the uABI instead of opencoding

Leon Romanovsky (1):
      RDMA/hns: Drop local zgid in favor of core defined variable

Wei Hu(Xavier) (5):
      RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
      RDMA/hns: Increase checking CMQ status timeout value
      RDMA/hns: Add reset process for RoCE in hip08
      RDMA/hns: Fix the illegal memory operation when cross page
      RDMA/hns: Implement the disassociate_ucontext API

Yixian Liu (1):
      RDMA/hns: Add 64KB page size support for hip08

oulijun (29):
      RDMA/hns: Remove unnecessary operator
      RDMA/hns: Add names to function arguments in function pointers
      RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table
      RDMA/hns: Fix a bug with modifying mac address
      RDMA/hns: Use free_pages function instead of free_page
      RDMA/hns: Bugfix for init hem table
      RDMA/hns: Intercept illegal RDMA operation when use inline data
      RDMA/hns: Fix the qp context state diagram
      RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set
      RDMA/hns: Remove some unnecessary attr_mask judgement
      RDMA/hns: Only assign dqpn if IB_QP_PATH_DEST_QPN bit is set
      RDMA/hns: Adjust the order of cleanup hem table
      RDMA/hns: Update assignment method for owner field of send wqe
      RDMA/hns: Submit bad wr
      RDMA/hns: Fix a couple misspellings
      RDMA/hns: Add rq inline flags judgement
      RDMA/hns: Bugfix for rq record db for kernel
      RDMA/hns: Load the RoCE dirver automatically
      RDMA/hns: Update convert function of endian format
      RDMA/hns: Add return operation when configured global param fail
      RDMA/hns: Not support qp transition from reset to reset for hip06
      RDMA/hns: Fix the bug with rq sge
      RDMA/hns: Set desc_dma_addr for zero when free cmq desc
      RDMA/hns: Enable inner_pa_vld filed of mpt
      RDMA/hns: Set NULL for __internal_mr
      RDMA/hns: Fix the bug with NULL pointer
      RDMA/hns: Bugfix for cq record db for kernel
      RDMA/hns: Move the location for initializing tmp_len
      RDMA/hns: Rename the idx field of db

weiyongjun (A) (1):
      RDMA/hns: Remove unnecessary platform_get_resource() error check

 drivers/infiniband/hw/hns/hns_roce_cmd.c    |   3 +
 drivers/infiniband/hw/hns/hns_roce_cq.c     |   1 +
 drivers/infiniband/hw/hns/hns_roce_device.h |  22 ++-
 drivers/infiniband/hw/hns/hns_roce_hem.c    |  12 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c  |  15 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 281 ++++++++++++++++++++--------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   7 +-
 drivers/infiniband/hw/hns/hns_roce_main.c   |  84 ++++++++-
 drivers/infiniband/hw/hns/hns_roce_mr.c     |   8 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c     |  15 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c     |  12 +-
 include/uapi/rdma/hns-abi.h                 |   5 +
 12 files changed, 351 insertions(+), 114 deletions(-)

Comments

Stefan Bader June 7, 2018, 7:54 p.m. | #1
On 07.06.2018 11:09, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1770974
> 
> Like hns3, the ROCE hns driver is under heavy development
> upstream, and the current version in bionic is not usable (it relies
> on hns3, which crashes on boot). Instead of surgically applying
> individual bug fixes, let's pull in all the driver-local changes from
> linux-next to address various issues (crashes, endian fixes, etc), and
> leave us with an upstream-aligned base to ease future maintenance.
> 
> One patch required trivial backporting (it was applied on top of a
> change that I skipped because it wasn't restricted to ROCE/hns), the
> rest are all clean cherry-picks.
> 
> The following changes since commit 8019da40b729efc0dd3786baa0ab85c7e8768a24:
> 
>   UBUNTU: SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl (2018-06-05 15:53:19 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns-roce-bionic
> 
> for you to fetch changes up to 3b2b3ae82a0ad5941f675ea92040b0c8f482e776:
> 
>   RDMA/hns: Implement the disassociate_ucontext API (2018-06-07 11:28:50 -0600)
> 
> ----------------------------------------------------------------
> Andy Shevchenko (1):
>       RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
> 
> Jason Gunthorpe (1):
>       RDMA/hns: Use structs to describe the uABI instead of opencoding
> 
> Leon Romanovsky (1):
>       RDMA/hns: Drop local zgid in favor of core defined variable
> 
> Wei Hu(Xavier) (5):
>       RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
>       RDMA/hns: Increase checking CMQ status timeout value
>       RDMA/hns: Add reset process for RoCE in hip08
>       RDMA/hns: Fix the illegal memory operation when cross page
>       RDMA/hns: Implement the disassociate_ucontext API
> 
> Yixian Liu (1):
>       RDMA/hns: Add 64KB page size support for hip08
> 
> oulijun (29):
>       RDMA/hns: Remove unnecessary operator
>       RDMA/hns: Add names to function arguments in function pointers
>       RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table
>       RDMA/hns: Fix a bug with modifying mac address
>       RDMA/hns: Use free_pages function instead of free_page
>       RDMA/hns: Bugfix for init hem table
>       RDMA/hns: Intercept illegal RDMA operation when use inline data
>       RDMA/hns: Fix the qp context state diagram
>       RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set
>       RDMA/hns: Remove some unnecessary attr_mask judgement
>       RDMA/hns: Only assign dqpn if IB_QP_PATH_DEST_QPN bit is set
>       RDMA/hns: Adjust the order of cleanup hem table
>       RDMA/hns: Update assignment method for owner field of send wqe
>       RDMA/hns: Submit bad wr
>       RDMA/hns: Fix a couple misspellings
>       RDMA/hns: Add rq inline flags judgement
>       RDMA/hns: Bugfix for rq record db for kernel
>       RDMA/hns: Load the RoCE dirver automatically
>       RDMA/hns: Update convert function of endian format
>       RDMA/hns: Add return operation when configured global param fail
>       RDMA/hns: Not support qp transition from reset to reset for hip06
>       RDMA/hns: Fix the bug with rq sge
>       RDMA/hns: Set desc_dma_addr for zero when free cmq desc
>       RDMA/hns: Enable inner_pa_vld filed of mpt
>       RDMA/hns: Set NULL for __internal_mr
>       RDMA/hns: Fix the bug with NULL pointer
>       RDMA/hns: Bugfix for cq record db for kernel
>       RDMA/hns: Move the location for initializing tmp_len
>       RDMA/hns: Rename the idx field of db
> 
> weiyongjun (A) (1):
>       RDMA/hns: Remove unnecessary platform_get_resource() error check
> 
>  drivers/infiniband/hw/hns/hns_roce_cmd.c    |   3 +
>  drivers/infiniband/hw/hns/hns_roce_cq.c     |   1 +
>  drivers/infiniband/hw/hns/hns_roce_device.h |  22 ++-
>  drivers/infiniband/hw/hns/hns_roce_hem.c    |  12 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c  |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 281 ++++++++++++++++++++--------
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   7 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c   |  84 ++++++++-
>  drivers/infiniband/hw/hns/hns_roce_mr.c     |   8 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c     |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c     |  12 +-
>  include/uapi/rdma/hns-abi.h                 |   5 +
>  12 files changed, 351 insertions(+), 114 deletions(-)
> 
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Kleber Souza June 7, 2018, 9:08 p.m. | #2
On 06/07/18 11:09, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1770974
> 
> Like hns3, the ROCE hns driver is under heavy development
> upstream, and the current version in bionic is not usable (it relies
> on hns3, which crashes on boot). Instead of surgically applying
> individual bug fixes, let's pull in all the driver-local changes from
> linux-next to address various issues (crashes, endian fixes, etc), and
> leave us with an upstream-aligned base to ease future maintenance.
> 
> One patch required trivial backporting (it was applied on top of a
> change that I skipped because it wasn't restricted to ROCE/hns), the
> rest are all clean cherry-picks.
> 
> The following changes since commit 8019da40b729efc0dd3786baa0ab85c7e8768a24:
> 
>   UBUNTU: SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl (2018-06-05 15:53:19 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns-roce-bionic
> 
> for you to fetch changes up to 3b2b3ae82a0ad5941f675ea92040b0c8f482e776:
> 
>   RDMA/hns: Implement the disassociate_ucontext API (2018-06-07 11:28:50 -0600)
> 
> ----------------------------------------------------------------
> Andy Shevchenko (1):
>       RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
> 
> Jason Gunthorpe (1):
>       RDMA/hns: Use structs to describe the uABI instead of opencoding
> 
> Leon Romanovsky (1):
>       RDMA/hns: Drop local zgid in favor of core defined variable
> 
> Wei Hu(Xavier) (5):
>       RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
>       RDMA/hns: Increase checking CMQ status timeout value
>       RDMA/hns: Add reset process for RoCE in hip08
>       RDMA/hns: Fix the illegal memory operation when cross page
>       RDMA/hns: Implement the disassociate_ucontext API
> 
> Yixian Liu (1):
>       RDMA/hns: Add 64KB page size support for hip08
> 
> oulijun (29):
>       RDMA/hns: Remove unnecessary operator
>       RDMA/hns: Add names to function arguments in function pointers
>       RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table
>       RDMA/hns: Fix a bug with modifying mac address
>       RDMA/hns: Use free_pages function instead of free_page
>       RDMA/hns: Bugfix for init hem table
>       RDMA/hns: Intercept illegal RDMA operation when use inline data
>       RDMA/hns: Fix the qp context state diagram
>       RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set
>       RDMA/hns: Remove some unnecessary attr_mask judgement
>       RDMA/hns: Only assign dqpn if IB_QP_PATH_DEST_QPN bit is set
>       RDMA/hns: Adjust the order of cleanup hem table
>       RDMA/hns: Update assignment method for owner field of send wqe
>       RDMA/hns: Submit bad wr
>       RDMA/hns: Fix a couple misspellings
>       RDMA/hns: Add rq inline flags judgement
>       RDMA/hns: Bugfix for rq record db for kernel
>       RDMA/hns: Load the RoCE dirver automatically
>       RDMA/hns: Update convert function of endian format
>       RDMA/hns: Add return operation when configured global param fail
>       RDMA/hns: Not support qp transition from reset to reset for hip06
>       RDMA/hns: Fix the bug with rq sge
>       RDMA/hns: Set desc_dma_addr for zero when free cmq desc
>       RDMA/hns: Enable inner_pa_vld filed of mpt
>       RDMA/hns: Set NULL for __internal_mr
>       RDMA/hns: Fix the bug with NULL pointer
>       RDMA/hns: Bugfix for cq record db for kernel
>       RDMA/hns: Move the location for initializing tmp_len
>       RDMA/hns: Rename the idx field of db
> 
> weiyongjun (A) (1):
>       RDMA/hns: Remove unnecessary platform_get_resource() error check
> 
>  drivers/infiniband/hw/hns/hns_roce_cmd.c    |   3 +
>  drivers/infiniband/hw/hns/hns_roce_cq.c     |   1 +
>  drivers/infiniband/hw/hns/hns_roce_device.h |  22 ++-
>  drivers/infiniband/hw/hns/hns_roce_hem.c    |  12 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c  |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 281 ++++++++++++++++++++--------
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   7 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c   |  84 ++++++++-
>  drivers/infiniband/hw/hns/hns_roce_mr.c     |   8 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c     |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c     |  12 +-
>  include/uapi/rdma/hns-abi.h                 |   5 +
>  12 files changed, 351 insertions(+), 114 deletions(-)
> 

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Khaled Elmously June 8, 2018, 12:20 a.m. | #3
Applied to Bionic


On 2018-06-07 12:09:08 , dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1770974
> 
> Like hns3, the ROCE hns driver is under heavy development
> upstream, and the current version in bionic is not usable (it relies
> on hns3, which crashes on boot). Instead of surgically applying
> individual bug fixes, let's pull in all the driver-local changes from
> linux-next to address various issues (crashes, endian fixes, etc), and
> leave us with an upstream-aligned base to ease future maintenance.
> 
> One patch required trivial backporting (it was applied on top of a
> change that I skipped because it wasn't restricted to ROCE/hns), the
> rest are all clean cherry-picks.
> 
> The following changes since commit 8019da40b729efc0dd3786baa0ab85c7e8768a24:
> 
>   UBUNTU: SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl (2018-06-05 15:53:19 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns-roce-bionic
> 
> for you to fetch changes up to 3b2b3ae82a0ad5941f675ea92040b0c8f482e776:
> 
>   RDMA/hns: Implement the disassociate_ucontext API (2018-06-07 11:28:50 -0600)
> 
> ----------------------------------------------------------------
> Andy Shevchenko (1):
>       RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
> 
> Jason Gunthorpe (1):
>       RDMA/hns: Use structs to describe the uABI instead of opencoding
> 
> Leon Romanovsky (1):
>       RDMA/hns: Drop local zgid in favor of core defined variable
> 
> Wei Hu(Xavier) (5):
>       RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
>       RDMA/hns: Increase checking CMQ status timeout value
>       RDMA/hns: Add reset process for RoCE in hip08
>       RDMA/hns: Fix the illegal memory operation when cross page
>       RDMA/hns: Implement the disassociate_ucontext API
> 
> Yixian Liu (1):
>       RDMA/hns: Add 64KB page size support for hip08
> 
> oulijun (29):
>       RDMA/hns: Remove unnecessary operator
>       RDMA/hns: Add names to function arguments in function pointers
>       RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table
>       RDMA/hns: Fix a bug with modifying mac address
>       RDMA/hns: Use free_pages function instead of free_page
>       RDMA/hns: Bugfix for init hem table
>       RDMA/hns: Intercept illegal RDMA operation when use inline data
>       RDMA/hns: Fix the qp context state diagram
>       RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set
>       RDMA/hns: Remove some unnecessary attr_mask judgement
>       RDMA/hns: Only assign dqpn if IB_QP_PATH_DEST_QPN bit is set
>       RDMA/hns: Adjust the order of cleanup hem table
>       RDMA/hns: Update assignment method for owner field of send wqe
>       RDMA/hns: Submit bad wr
>       RDMA/hns: Fix a couple misspellings
>       RDMA/hns: Add rq inline flags judgement
>       RDMA/hns: Bugfix for rq record db for kernel
>       RDMA/hns: Load the RoCE dirver automatically
>       RDMA/hns: Update convert function of endian format
>       RDMA/hns: Add return operation when configured global param fail
>       RDMA/hns: Not support qp transition from reset to reset for hip06
>       RDMA/hns: Fix the bug with rq sge
>       RDMA/hns: Set desc_dma_addr for zero when free cmq desc
>       RDMA/hns: Enable inner_pa_vld filed of mpt
>       RDMA/hns: Set NULL for __internal_mr
>       RDMA/hns: Fix the bug with NULL pointer
>       RDMA/hns: Bugfix for cq record db for kernel
>       RDMA/hns: Move the location for initializing tmp_len
>       RDMA/hns: Rename the idx field of db
> 
> weiyongjun (A) (1):
>       RDMA/hns: Remove unnecessary platform_get_resource() error check
> 
>  drivers/infiniband/hw/hns/hns_roce_cmd.c    |   3 +
>  drivers/infiniband/hw/hns/hns_roce_cq.c     |   1 +
>  drivers/infiniband/hw/hns/hns_roce_device.h |  22 ++-
>  drivers/infiniband/hw/hns/hns_roce_hem.c    |  12 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c  |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 281 ++++++++++++++++++++--------
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   7 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c   |  84 ++++++++-
>  drivers/infiniband/hw/hns/hns_roce_mr.c     |   8 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c     |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c     |  12 +-
>  include/uapi/rdma/hns-abi.h                 |   5 +
>  12 files changed, 351 insertions(+), 114 deletions(-)
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team