[LU-6850] Remove use of ib_reg_phys_mr() from o2iblnd Created: 14/Jul/15 Updated: 30/Jan/17 Resolved: 06/Oct/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.8.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Doug Oucharek (Inactive) | Assignee: | Amir Shehata (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
I was informed by Chuck Lever that the kernel guys consider ib_reg_phys_mr() obsolete and will be removing it from upstream OFED. We need to remove use of this routine from o2iblnd or change to a more appropriate API. |
| Comments |
| Comment by Isaac Huang (Inactive) [ 15/Jul/15 ] |
|
Is it going to be replaced by something else or simply removed? |
| Comment by Doug Oucharek (Inactive) [ 15/Jul/15 ] |
|
This thread seems to explain what is going to happen: http://www.spinics.net/lists/linux-nfs/msg52108.html |
| Comment by James A Simmons [ 15/Jul/15 ] |
|
The ko2iblnd driver needs to change to using FRMR asap. |
| Comment by Peter Jones [ 20/Jul/15 ] |
|
Amir Could you please look into what is going to be required here? Thanks Peter |
| Comment by Isaac Huang (Inactive) [ 22/Jul/15 ] |
|
Looks like ib_reg_phys_mr() was used as a fallback for ib_get_dma_mr(), which is guaranteed to work except perhaps for some weird Chelsio HCA. I remembered Liang said he'd want to remove the hacks for some Chelsio support, so looks like ib_reg_phys_mr() call can be removed together with the Chelsio hacks Liang wanted to remove. Liang, can you please confirm? |
| Comment by Doug Oucharek (Inactive) [ 22/Jul/15 ] |
|
Looks like the patch to remove this call has been submitted already to the kernel. Looks like we will need to fix this very soon. ---- The verbs are obsolete. The ib_rereg_phys_mr() verb is not used by kernel Two staging tree call sites remain in the Lustre client. The Lustre team has Signed-off-by: Chuck Lever <chuck.lever@oracle.com> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c -struct ib_mr *ib_reg_phys_mr(struct ib_pd *pd,
/**
– |
| Comment by Gerrit Updater [ 29/Jul/15 ] |
|
Amir Shehata (amir.shehata@intel.com) uploaded a new patch: http://review.whamcloud.com/15788 |
| Comment by James A Simmons [ 24/Aug/15 ] |
|
I just tried this with our Mellanox 2.4 stack using the mlx5 driver and it totally breaks ko2iblnd. If this patch is merged users stuck with hardware needing to use the mlx5 driver will no function. Before we delete this patch we need to support FRWR for the mlx5 driver. |
| Comment by Doug Oucharek (Inactive) [ 24/Aug/15 ] |
|
James: Do you have a link to documentation on FRWR? Is this something unique to MLX or can we switch to it for all IB access? |
| Comment by James A Simmons [ 24/Aug/15 ] |
|
It is unique to mlx5 driver. I will ask tomorrow one of my co-workers where I can get docs on this. |
| Comment by James A Simmons [ 25/Aug/15 ] |
|
Here is a link to docs : http://www.rdmaconsortium.org/home/RNIC_Verbs_Overview2.pdf Also review the kernel thread called "IB/core: Introduce new fast registration API" and looked for comments by Jason Gunthorpe about how the API should be used Lastly the thread "Kernel fast memory registration API proposal [RFC]" in the rdma list is very good. |
| Comment by James A Simmons [ 24/Sep/15 ] |
|
Another update on the latest infiniband API. It appears yet another new RDMA API has been purposed. If that lands FMR will be removed as well. See ticket |
| Comment by Gerrit Updater [ 06/Oct/15 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/15788/ |
| Comment by Peter Jones [ 06/Oct/15 ] |
|
Landed for 2.8 |