Repository navigation
fix(rocshmem): [gda/mlx5] fix dmabuf-backed umem registrations - #13220
Conversation
Registering dmabuf-backed regions using mlx5dv_devx_umem_reg_ex requires passing in the dmabuf offset as mlx5dv_devx_umem_in::addr rather than the actual address of the buffer. The mlx5 provider currently places the SQ, CQ, and dbrec in host memory rather than device memory, so this feature is not currently used. Signed-off-by: Omri Mor <Omri.Mor@amd.com>
0e63009 to
a8b94d4
Compare
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
🟢 Approval recommended
The focused change matches the mlx5 DevX API contract and HSA-exported offset semantics.
0 open findings
What changed in this PR
Corrects mlx5 DevX registration for dma-buf-backed device memory.
Changes:
- Passes the exported dma-buf offset as
mlx5dv_devx_umem_in::addr.
| File | Description |
|---|---|
projects/rocshmem/src/gda/mlx5/provider_gda_mlx5.cpp |
Fixes dma-buf UMEM registration address semantics. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
There may be additional issues dmabuf-backed umem registrations, but I'm merging this for now until those issues can be evaluated. In any case this PR is very low-risk since we do not currently place QP structures in device memory, so we do not use dmabuf-backed umem registrations. |
TheRock Submodule Bump ActivityNewest first
|
Motivation
Registering dmabuf-backed mlx5 umem regions using DevX is broken due to incorrect API usage, resulting in runtime errors if the backing memory for the SQ, CQ, and dbrec is changed from host to device memory on a system using dmabuf.
The mlx5 provider currently places the SQ, CQ, and dbrec in host memory rather than device memory, so this feature is not currently used.
Technical Details
Registering dmabuf-backed regions using mlx5dv_devx_umem_reg_ex requires passing in the dmabuf offset as
mlx5dv_devx_umem_in::addrrather than the actual address of the buffer.Issue Tracking
Test Plan
Validate correct registration of dmabuf-backed umem regions on mlx5 hardware.
Test Result
Submission Checklist