IBM-iobrick patches for Ubuntu 20.04

Bug #1894977 reported by Amir Tzin
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Invalid
Undecided
Unassigned
linux (Ubuntu)
Incomplete
Undecided
Canonical Kernel Team

Bug Description

Hi,

The request is to backport
09689703d29a RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy
with it the below list (divided to four sets) is required.

most of the patches applied cleanly above focal tree four exceptions.

1. 806b101b2bfa RDMA/mlx5: Use a dedicated mkey xarray for ODP
2. b91e1751fbce RDMA/mlx5: Simplify how the MR cache bucket is located
3. 1769c4c57548 RDMA/mlx5: Always remove MRs from the cache before destroying them
4. b9358bdbc713 RDMA/mlx5: Fix locking in MR cache work queue
the rejected hunks need to be manually applied.
The rejected hunks are due to true<-->1 false<-->0 exchange added support for wc (b9358bdbc713) and other minor reasons.

 set 0: Unrelated code cleanups (needed for applying cleanly the mr cache set)
 https://patchwork.kernel.org/cover/11170991/
 909624d8db5b IB/cm: Use container_of() instead of typecast
 6f26b2ac699c IB/mlx5: Remove unnecessary else statement
 2d67c0798821 IB/mlx5: Remove unnecessary return statement
 4b2a67362e78 RDMA/mlx5: Group boolean parameters to take less space

 set 1: Rework the locking and datastructures for mlx5 implicit ODP
 https://patchwork.kernel.org/cover/11181509/
 46870b2391d5 RDMA/odp: Remove broken debugging call to invalidate_range
 09689703d29a RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy
 d561987f34f2 RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray
 5256edcb98a1 RDMA/mlx5: Rework implicit ODP destroy
 b70d785d237c RDMA/mlx5: Avoid double lookups on the pagefault path
 3389baa831b6 RDMA/mlx5: Reduce locking in implicit_mr_get_data()
 423f52d65005 RDMA/mlx5: Use an xarray for the children of an implicit ODP
 54375e738295 RDMA/mlx5: Split implicit handling from pagefault_mr
 9162420dde49 RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree
 c2edcd69351f RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it
 3d5f3c54e7bc RDMA/mlx5: Rework implicit_mr_get_data
 74bddb3682f6 RDMA/mlx5: Delete struct mlx5_priv->mkey_table
 806b101b2bfa RDMA/mlx5: Use a dedicated mkey xarray for ODP
 50211ec9443f RDMA/mlx5: Split sig_err MR data into its own xarray
 fb985e278a30 RDMA/mlx5: Use SRCU properly in ODP prefetch

 set 2: Consolidate the mmu notifier interval_tree and locking (only first two patches from this set)
 https://patchwork.kernel.org/cover/11240081/
 99cb252f5e68 mm/mmu_notifier: add an interval tree notifier
 56f434f40f05 mm/mmu_notifier: define the header pre-processor parts even if disabled

 also needed for applying mr cache set cleanly.
 03232cc43cff IB/mlx5: Introduce and use mkey context setting helper routine

 set 3: MR cache fixes and refactoring
 https://www.spinics.net/lists/linux-rdma/msg89706.html
 aad719dcf379 RDMA/mlx5: Allow MRs to be created in the cache synchronously
 1c78a21a0c6f RDMA/mlx5: Revise how the hysteresis scheme works for cache filling
 b9358bdbc713 RDMA/mlx5: Fix locking in MR cache work queue
 ad2d3ef46d2a RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work
 a1d8854aae4e RDMA/mlx5: Fix MR cache size and limit debugfs
 1769c4c57548 RDMA/mlx5: Always remove MRs from the cache before destroying them
 b91e1751fbce RDMA/mlx5: Simplify how the MR cache bucket is located
 7c8691a396bd RDMA/mlx5: Rename the tracking variables for the MR cache
 f743ff3b37df RDMA/mlx5: Replace spinlock protected write with atomic var
 a3cfdd392811 {IB,net}/mlx5: Move asynchronous mkey creation to mlx5_ib
 fc6a9f86f08a {IB,net}/mlx5: Assign mkey variant in mlx5_ib only
 54c62e13ad76 {IB,net}/mlx5: Setup mkey variant before mr create command invocation

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1894977

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: New → Incomplete
Changed in linux (Ubuntu):
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-188093 severity-high targetmilestone-inin2004
Frank Heimes (fheimes)
tags: added: bot-stop-nagging
Revision history for this message
Terry Rudd (terrykrudd) wrote :

The Canonical Stable kernel team continues to evaluate this rather large and quite intrusive patch set. Put simply, this does not belong on a stable kernel directly. That said, we continue to evaluate inclusion by way of potentially including it via an HWE kernel and porting back over time.

Revision history for this message
Terry Rudd (terrykrudd) wrote :

Amir and Heinz-werner, it would be helpful to get some test results on this functionality in the Ubuntu 5.8 kernel in 20.10. Thanks in advance.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Ubuntu on IBM z Systems because there has been no activity for 60 days.]

Changed in ubuntu-z-systems:
status: Incomplete → Expired
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2021-02-03 03:44 EDT-------
IBM Bugzilla status->closed, Will not be requested anymore.

Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Expired → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.