From: Doug Ledford <doug.ledford@hpe.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
Slingshot Open Source Team <slingshot-os-team@groups.ext.hpe.com>
Cc: <linux-rdma@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Doug Ledford <doug.ledford@hpe.com>
Subject: [PATCH 02/11] RDMA/core: allow jobs without an address table
Date: Fri, 30 Oct 2026 21:35:30 -0700 [thread overview]
Message-ID: <20261030-cxi-for-next-v1-2-bc6e49e07037@hpe.com> (raw)
In-Reply-To: <20261030-cxi-for-next-v1-0-bc6e49e07037@hpe.com>
max_addr_entries counts slots for remote fabric peers in a job's address
table. An entry describes a destination using address-handle attributes
and a remote QPN; it is not a memory region, mapped page, or ATU address
context.
Cassini transmit commands carry the destination fabric address directly,
including the destination NID and endpoint information. The CXI provider
currently uses address handles and does not implement job address-table
operations or indexed sends. The documented transmit interface does not
expose a programmable peer-address table equivalent to the UET job
table. Cassini's connection/retry state tables are not such an address
vector. Its virtual-memory mappings instead use separate ATU address
contexts and page tables.
Allow an address-handle-only job to request zero peer-table entries
instead of requiring an unused entry. Keep the device upper-bound and
privileged job-allocation checks. JobIDs and job keys remain in use.
Existing index bounds reject every access to a zero-sized job
table. This does not implement indexed addressing for CXI or relax its
memory-mapping resource limits.
This relaxes the shared UET job-allocation contract for providers using
only address handles, not just the CXI driver. It needs core API review.
Signed-off-by: Doug Ledford <doug.ledford@hpe.com>
---
drivers/infiniband/core/uverbs_std_types_job.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/uverbs_std_types_job.c b/drivers/infiniband/core/uverbs_std_types_job.c
index 20acb2aa9871..b05c0619a6b3 100644
--- a/drivers/infiniband/core/uverbs_std_types_job.c
+++ b/drivers/infiniband/core/uverbs_std_types_job.c
@@ -193,8 +193,7 @@ static int UVERBS_HANDLER(UVERBS_METHOD_JOB_ALLOC)(
return ret;
/* the table is sized once, every index is checked against it */
- if (!attr.max_addr_entries ||
- attr.max_addr_entries > ib_dev->attrs.max_addr_entries)
+ if (attr.max_addr_entries > ib_dev->attrs.max_addr_entries)
return -EINVAL;
/* the port carries the job's traffic, so it has to be one we have */
--
2.56.0
next prev parent reply other threads:[~2026-10-31 4:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-31 4:35 [PATCH 00/11] Subject: [PATCH for-next 00/11] RDMA/cxi: add the HPE Cassini verbs driver Doug Ledford
2026-10-31 4:35 ` [PATCH 01/11] RDMA/core: read selected counters with timestamps Doug Ledford
2026-10-31 4:35 ` Doug Ledford [this message]
2026-10-31 4:35 ` [PATCH 03/11] RDMA/core: add Slingshot identifiers and driver-owned GIDs Doug Ledford
2026-10-31 4:35 ` [PATCH 04/11] RDMA/cxi: add the native ABI and resource definitions Doug Ledford
2026-10-31 4:35 ` [PATCH 05/11] RDMA/cxi: add the auxiliary device and driver ops Doug Ledford
2026-10-31 4:35 ` [PATCH 06/11] RDMA/cxi: add explicit context LNI and PID lifetimes Doug Ledford
2026-10-31 4:35 ` [PATCH 07/11] RDMA/cxi: add VNI-isolated queue pairs Doug Ledford
2026-10-31 4:35 ` [PATCH 08/11] RDMA/cxi: add native memory registration Doug Ledford
2026-10-31 4:35 ` [PATCH 09/11] RDMA/cxi: add services jobs profiles queues and counting triggers Doug Ledford
2026-10-31 4:35 ` [PATCH 10/11] RDMA/cxi: read the NIC telemetry through counters Doug Ledford
2026-10-31 4:35 ` [PATCH 11/11] RDMA/cxi: wire the driver into the build Doug Ledford
2026-11-03 14:28 ` [PATCH 00/11] Subject: [PATCH for-next 00/11] RDMA/cxi: add the HPE Cassini verbs driver Leon Romanovsky
2026-11-03 14:30 ` Jason Gunthorpe
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=20261030-cxi-for-next-v1-2-bc6e49e07037@hpe.com \
--to=doug.ledford@hpe.com \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=slingshot-os-team@groups.ext.hpe.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
all inboxes | Powered by JetHome®