From: Jacob Moroni <jmoroni@google.com>
To: tatyana.e.nikolova@intel.com, jgg@ziepe.ca, leon@kernel.org
Cc: linux-rdma@vger.kernel.org, Jacob Moroni <jmoroni@google.com>
Subject: [PATCH rdma-next 0/2] RDMA/irdma: Fix FRWR and PBLE handling for PAGE_SIZE > 4K
Date: Thu, 22 Oct 2026 21:06:48 +0000 [thread overview]
Message-ID: <20261022210650.1182000-1-jmoroni@google.com> (raw)
The irdma HW only supports 4K and 2M pages (plus 1G on newer HW), but
parts of the driver assumed PAGE_SIZE == 4K. On kernels with a larger
PAGE_SIZE (like arm64 with 64K pages), this resulted in a few issues:
- FRWRs from ULPs that pass PAGE_SIZE to ib_map_mr_sg() end up
getting mistranslated by the HW (discovered by observing SMMU
faults).
- Paged PBLE chunks and the virtual AEQ PBL point to the wrong
offsets compared to what the driver assumed.
The first issue is fixed by building the FRWR page list from 4K pages
when the requested page size isn't supported (and scaling the PBL
allocation accordingly) and the second issue is fixed by accounting
for the potential difference between PAGE_SIZE and the HW's expected
4K page size (so a single page may end up populating multiple HW page
descriptors). Patch 2 depends on IRDMA_HW_PAGES_PER_PAGE, which is
added by patch 1.
Tested by running the same NFS/RDMA test that previously resulted
in SMMU errors on an arm64 system with a 64K kernel.
Jacob Moroni (2):
RDMA/irdma: Fix FRWR logic for PAGE_SIZE > 4K
RDMA/irdma: Fix paged PBLE and virtual AEQ for PAGE_SIZE > 4K
drivers/infiniband/hw/irdma/ctrl.c | 4 +++-
drivers/infiniband/hw/irdma/defs.h | 1 +
drivers/infiniband/hw/irdma/hw.c | 4 ++--
drivers/infiniband/hw/irdma/utils.c | 22 ++++++++++--------
drivers/infiniband/hw/irdma/verbs.c | 36 +++++++++++++++++++++++++++--
5 files changed, 53 insertions(+), 14 deletions(-)
base-commit: c3e8e9451e6f1b69f685b75e0fbf14f3d0fb2539
--
2.56.0.218.g1ec904b173-goog
next reply other threads:[~2026-10-22 21:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-22 21:06 Jacob Moroni [this message]
2026-10-22 21:06 ` [PATCH rdma-next 1/2] RDMA/irdma: Fix FRWR logic for PAGE_SIZE > 4K Jacob Moroni
2026-10-22 21:13 ` sashiko-bot
2026-10-28 19:59 ` Nikolova, Tatyana E
2026-10-22 21:06 ` [PATCH rdma-next 2/2] RDMA/irdma: Fix paged PBLE and virtual AEQ " Jacob Moroni
2026-10-22 21:12 ` sashiko-bot
2026-10-28 19:59 ` Nikolova, Tatyana E
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261022210650.1182000-1-jmoroni@google.com \
--to=jmoroni@google.com \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=tatyana.e.nikolova@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox