[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <553dff52-f61a-4f16-af4c-72d2d2c6bc3d@kernel.org>
Date: Fri, 14 Mar 2025 23:34:02 +0100
From: David Ahern <dsahern@...nel.org>
To: Stanislav Fomichev <stfomichev@...il.com>
Cc: Leon Romanovsky <leon@...nel.org>, Jason Gunthorpe <jgg@...dia.com>,
Saeed Mahameed <saeed@...nel.org>, Jiri Pirko <jiri@...nulli.us>,
Jakub Kicinski <kuba@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andy Gospodarek <andrew.gospodarek@...adcom.com>,
Aron Silverton <aron.silverton@...cle.com>,
Dan Williams <dan.j.williams@...el.com>,
Daniel Vetter <daniel.vetter@...ll.ch>, Dave Jiang <dave.jiang@...el.com>,
Christoph Hellwig <hch@...radead.org>, Itay Avraham <itayavr@...dia.com>,
Jiri Pirko <jiri@...dia.com>, Jonathan Cameron
<Jonathan.Cameron@...wei.com>, Leonid Bloch <lbloch@...dia.com>,
linux-cxl@...r.kernel.org, linux-rdma@...r.kernel.org,
netdev@...r.kernel.org, Saeed Mahameed <saeedm@...dia.com>,
"Nelson, Shannon" <shannon.nelson@....com>
Subject: Re: [PATCH v5 0/8] Introduce fwctl subystem
On 3/12/25 11:34 AM, Stanislav Fomichev wrote:
>> More specifically, I do not see netdev APIs ever recognizing RDMA
>> concepts like domains and memory regions. For us, everything is relative
>> to a domain and a region - e.g., whether a queue is created for a netdev
>> device or an IB QP both use the same common internal APIs. I would
>> prefer not to use fwctl for something so basic.
>
> What specifically do you mean here by 'memory regions'? Ne
netdev queues and flows are a subset of RDMA operations, so I mean MRs
as in:
IBV_REG_MR(3) Libibverbs Programmer's Manual
NAME
ibv_reg_mr, ibv_reg_mr_iova, ibv_reg_dmabuf_mr, ibv_dereg_mr -
register or deregister a memory region (MR)
SYNOPSIS
#include <infiniband/verbs.h>
struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr,
size_t length, int access);
struct ibv_mr *ibv_reg_mr_iova(struct ibv_pd *pd, void *addr,
size_t length, uint64_t hca_va,
int access);
struct ibv_mr *ibv_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset,
size_t length, uint64_t iova,
int fd, int access);
int ibv_dereg_mr(struct ibv_mr *mr);
DESCRIPTION
ibv_reg_mr() registers a memory region (MR) associated with the
protection domain pd. The MR's starting address is addr and its size is
length. The argument access describes the desired mem‐
ory protection attributes; it is either 0 or the bitwise OR of
one or more of the following flags:
...
Powered by blists - more mailing lists