Home
last modified time | relevance | path

Searched full:rdma (Results 1 – 25 of 406) sorted by relevance

12345678910>>...17

/linux/net/sunrpc/xprtrdma/
H A Dsvc_rdma_rw.c5 * Use the core R/W API to move RPC-over-RDMA Read and Write chunks.
10 #include <rdma/rw.h>
22 /* Each R/W context contains state for one chain of RDMA Read or
30 * Each WR chain handles only one R_key. Each RPC-over-RDMA segment
49 static void svc_rdma_put_rw_ctxt(struct svcxprt_rdma *rdma,
60 svc_rdma_get_rw_ctxt(struct svcxprt_rdma *rdma, unsigned int nr_bvec) in svc_rdma_get_rw_ctxt() argument
62 struct ib_device *dev = rdma->sc_cm_id->device; in svc_rdma_get_rw_ctxt()
67 spin_lock(&rdma->sc_rw_ctxt_lock); in svc_rdma_get_rw_ctxt()
68 node = llist_del_first(&rdma->sc_rw_ctxts); in svc_rdma_get_rw_ctxt()
69 spin_unlock(&rdma->sc_rw_ctxt_lock); in svc_rdma_get_rw_ctxt()
[all …]
H A Dsvc_rdma_sendto.c51 * XDR-encoded RPC Reply message. sendto must construct the RPC-over-RDMA
105 #include <rdma/ib_verbs.h>
106 #include <rdma/rdma_cm.h>
117 svc_rdma_send_ctxt_alloc(struct svcxprt_rdma *rdma) in svc_rdma_send_ctxt_alloc() argument
119 struct ib_device *device = rdma->sc_cm_id->device; in svc_rdma_send_ctxt_alloc()
127 ctxt = kzalloc_node(struct_size(ctxt, sc_sges, rdma->sc_max_send_sges), in svc_rdma_send_ctxt_alloc()
131 pages = svc_serv_maxpages(rdma->sc_xprt.xpt_server); in svc_rdma_send_ctxt_alloc()
137 buffer = kmalloc_node(rdma->sc_max_req_size, GFP_KERNEL, node); in svc_rdma_send_ctxt_alloc()
140 addr = ib_dma_map_single(device, buffer, rdma->sc_max_req_size, in svc_rdma_send_ctxt_alloc()
145 svc_rdma_send_cid_init(rdma, &ctxt->sc_cid); in svc_rdma_send_ctxt_alloc()
[all …]
H A Dsvc_rdma_recvfrom.c49 * be read. "Data Ready" is signaled when an RDMA Receive completes,
50 * or when a set of RDMA Reads complete.
61 * svc_rdma_recvfrom must post RDMA Reads to pull the RPC Call's
63 * RDMA Reads using pages in svc_rqst::rq_pages, which are
76 * of the RPC Call message, using the RDMA Read sink pages kept in
86 * The first svc_rqst supplies pages for RDMA Reads. These are moved
91 * During the second svc_rdma_recvfrom call, RDMA Read sink pages
98 #include <rdma/ib_verbs.h>
99 #include <rdma/rdma_cm.h>
119 svc_rdma_recv_ctxt_alloc(struct svcxprt_rdma *rdma) in svc_rdma_recv_ctxt_alloc() argument
[all …]
H A Dsvc_rdma_transport.c53 #include <rdma/ib_verbs.h>
54 #include <rdma/rdma_cm.h>
55 #include <rdma/rw.h>
95 .xcl_name = "rdma",
103 * svc_rdma_xprt_deferred_close - Close an RDMA transport (deferred)
104 * @rdma: transport to close
106 void svc_rdma_xprt_deferred_close(struct svcxprt_rdma *rdma) in svc_rdma_xprt_deferred_close() argument
108 svc_xprt_deferred_close(&rdma->sc_xprt); in svc_rdma_xprt_deferred_close()
113 wake_up_all(&rdma->sc_sq_ticket_wait); in svc_rdma_xprt_deferred_close()
114 wake_up_all(&rdma in svc_rdma_xprt_deferred_close()
121 struct svcxprt_rdma *rdma = qp_event_handler() local
355 struct svcxprt_rdma *rdma = cma_id->context; svc_rdma_cma_handler() local
419 struct svcxprt_rdma *rdma = container_of(rn, struct svcxprt_rdma, svc_rdma_xprt_done() local
639 struct svcxprt_rdma *rdma = svc_rdma_detach() local
661 struct svcxprt_rdma *rdma = svc_rdma_free() local
708 struct svcxprt_rdma *rdma = svc_rdma_has_wspace() local
[all...]
H A Dsvc_rdma_backchannel.c5 * Support for reverse-direction RPCs on RPC/RDMA (server-side).
65 * the RPC/RDMA request.
75 static int svc_rdma_bc_sendto(struct svcxprt_rdma *rdma, in svc_rdma_bc_sendto() argument
83 ret = svc_rdma_map_reply_msg(rdma, sctxt, &empty_pcl, &empty_pcl, in svc_rdma_bc_sendto()
93 return svc_rdma_post_send(rdma, sctxt); in svc_rdma_bc_sendto()
136 rpcrdma_bc_send_request(struct svcxprt_rdma *rdma, struct rpc_rqst *rqst) in rpcrdma_bc_send_request() argument
144 ctxt = svc_rdma_send_ctxt_get(rdma); in rpcrdma_bc_send_request()
160 rc = svc_rdma_bc_sendto(rdma, rqst, ctxt); in rpcrdma_bc_send_request()
166 svc_rdma_send_ctxt_put(rdma, ctxt); in rpcrdma_bc_send_request()
183 struct svcxprt_rdma *rdma = in xprt_rdma_bc_send_request() local
[all …]
/linux/Documentation/admin-guide/nfs/
H A Dnfs-rdma.rst2 Setting up NFS/RDMA
14 This document describes how to install and setup the Linux NFS/RDMA client
17 The NFS/RDMA client was first included in Linux 2.6.24. The NFS/RDMA server
23 RDMA adapters.
29 nfs-rdma-devel@lists.sourceforge.net mailing list.
35 use with NFS/RDMA.
37 - Install an RDMA device
46 The first kernel release to contain both the NFS/RDMA client and server was
55 An NFS/RDMA mount point can be obtained by using the mount.nfs command in
57 version with support for NFS/RDMA mounts, but for various reasons we
[all …]
/linux/drivers/gpu/drm/meson/
H A Dmeson_rdma.c19 * by the VSYNC irq and does not handle the RDMA irq.
26 if (!priv->rdma.addr) { in meson_rdma_init()
28 priv->rdma.addr = in meson_rdma_init()
30 &priv->rdma.addr_dma, in meson_rdma_init()
32 if (!priv->rdma.addr) in meson_rdma_init()
36 priv->rdma.offset = 0; in meson_rdma_init()
50 if (!priv->rdma.addr && !priv->rdma.addr_dma) in meson_rdma_free()
56 priv->rdma.addr, priv->rdma.addr_dma); in meson_rdma_free()
58 priv->rdma.addr = NULL; in meson_rdma_free()
59 priv->rdma.addr_dma = (dma_addr_t)0; in meson_rdma_free()
[all …]
/linux/Documentation/filesystems/smb/
H A Dsmbdirect.rst4 SMB Direct - SMB3 over RDMA
8 use RDMA.
13 scheme for SMB3 that uses RDMA (Remote Direct Memory Access) to provide
21 - Install an RDMA device. As long as the RDMA device driver is supported
32 - Configure the RDMA stack
34 Make sure that your kernel configuration has RDMA support enabled. Under
43 For soft RDMA, enable either the soft iWARP (`RDMA _SIW`) or soft RoCE
45 `rdma link add` command to load the module and create an
46 RDMA interface.
52 sudo rdma link add siw0 type siw netdev eth0
[all …]
/linux/include/linux/sunrpc/
H A Drpc_rdma.h66 * Smallest RPC/RDMA header: rm_xid through rm_type, then rm_nochunks
81 RDMA_ERROR = 4 /* An RPC RDMA encoding error */
94 * Private extension to RPC-over-RDMA Version One.
95 * Message passed during RDMA-CM connection set-up.
128 * xdr_encode_rdma_segment - Encode contents of an RDMA segment
130 * @handle: The RDMA handle to encode
131 * @length: The RDMA length to encode
132 * @offset: The RDMA offset to encode
135 * Pointer to the XDR position that follows the encoded RDMA segment
149 * @handle: The RDMA handle to encode
[all …]
/linux/Documentation/devicetree/bindings/media/
H A Dmediatek,mdp3-rdma.yaml4 $id: http://devicetree.org/schemas/media/mediatek,mdp3-rdma.yaml#
14 MediaTek Read Direct Memory Access(RDMA) component used to do read DMA.
25 - mediatek,mt8183-mdp3-rdma
26 - mediatek,mt8188-mdp3-rdma
27 - mediatek,mt8195-mdp3-rdma
28 - mediatek,mt8195-vdo1-rdma
30 - const: mediatek,mt8188-vdo1-rdma
31 - const: mediatek,mt8195-vdo1-rdma
68 - description: RDMA clock
77 - description: used for 1st data pipe from RDMA
[all …]
/linux/include/rdma/
H A Drdma_cm.h12 #include <rdma/ib_addr.h>
13 #include <rdma/ib_sa.h>
14 #include <uapi/rdma/rdma_user_cm.h>
18 * RDMA identifier and release all resources allocated with the device.
142 * rdma_create_id - Create an RDMA identifier.
148 * @ps: RDMA port space.
162 * rdma_destroy_id - Destroys an RDMA identifier.
164 * @id: RDMA identifier.
172 * rdma_restrict_node_type - Restrict an RDMA identifier to specific
173 * RDMA device node type.
[all …]
/linux/Documentation/ABI/stable/
H A Dsysfs-driver-ib_srp4 Contact: linux-rdma@vger.kernel.org
47 communicated from initiator to target via an additional RDMA
59 MSI-X completion vector of the first RDMA channel. Some
77 Contact: linux-rdma@vger.kernel.org
83 Contact: linux-rdma@vger.kernel.org
89 Contact: linux-rdma@vger.kernel.org
97 Contact: linux-rdma@vger.kernel.org
98 Description: Number of RDMA channels used for communication with the SRP
104 Contact: linux-rdma@vger.kernel.org
111 Contact: linux-rdma@vger.kernel.org
[all …]
/linux/fs/smb/smbdirect/
H A Dlisten.c28 if (WARN_ON_ONCE(!sc->rdma.cm_id)) in smbdirect_socket_listen()
31 if (sc->rdma.cm_id->device) in smbdirect_socket_listen()
34 &sc->rdma.cm_id->route.addr.src_addr, in smbdirect_socket_listen()
36 sc->rdma.cm_id->device->name); in smbdirect_socket_listen()
40 &sc->rdma.cm_id->route.addr.src_addr); in smbdirect_socket_listen()
45 sc->rdma.expected_event = RDMA_CM_EVENT_CONNECT_REQUEST; in smbdirect_socket_listen()
46 rdma_lock_handler(sc->rdma.cm_id); in smbdirect_socket_listen()
47 sc->rdma.cm_id->event_handler = smbdirect_listen_rdma_event_handler; in smbdirect_socket_listen()
48 rdma_unlock_handler(sc->rdma.cm_id); in smbdirect_socket_listen()
50 ret = rdma_listen(sc->rdma.cm_id, backlog); in smbdirect_socket_listen()
[all …]
/linux/drivers/infiniband/ulp/rtrs/
H A DREADME2 RDMA Transport (RTRS)
5 RTRS (RDMA Transport) is a reliable high speed transport library
7 between client and server machines using RDMA (InfiniBand, RoCE, iWarp)
19 RTRS is used by the RNBD (RDMA Network Block Device) modules.
29 server side for a given client for rdma transfer. A session
49 discussed in LPC RDMA MC 2019. When always_invalidate=Y, on the server side we
50 invalidate each rdma buffer before we hand it over to RNBD server and
89 which contains the addresses and keys of the RDMA buffers allocated for that
95 6. Server and client exchange periodically heartbeat messages (empty rdma
99 7. On any RDMA related error or in the case of a heartbeat timeout, the
[all …]
H A DKconfig12 RDMA transport client module.
14 RDMA Transport (RTRS) client implements a reliable transport layer
16 the base layer for a block storage initiator over RDMA.
23 RDMA transport server module.
25 RDMA Transport (RTRS) server module processing connection and IO
H A Drtrs-pri.h3 * RDMA Transport Layer
14 #include <rdma/rdma_cm.h>
15 #include <rdma/ib_verbs.h>
16 #include <rdma/ib.h>
139 * @RTRS_MSG_WRITE: Client writes data per RDMA to server
162 * struct rtrs_sg_desc - RDMA-Buffer entry description
163 * @addr: Address of RDMA destination buffer
189 * that. See https://www.spinics.net/lists/linux-rdma/msg22397.html
250 * @desc: RDMA buffers where the client can write to server
264 * @buf_id: RDMA buf_id of the new rkey
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_idc.c34 * ice_send_event_to_aux - send event to RDMA AUX driver
64 * ice_add_rdma_qset - Add Leaf Node for RDMA Qset
93 dev_err(dev, "RDMA QSet invalid VSI\n"); in ice_add_rdma_qset()
106 dev_err(dev, "Failed VSI RDMA Qset config\n"); in ice_add_rdma_qset()
113 dev_err(dev, "Failed VSI RDMA Qset enable\n"); in ice_add_rdma_qset()
123 * ice_del_rdma_qset - Delete leaf node for RDMA Qset
143 dev_err(ice_pf_to_dev(pf), "RDMA Invalid VSI\n"); in ice_del_rdma_qset()
155 * ice_rdma_request_reset - accept request from RDMA to perform a reset
188 * ice_rdma_update_vsi_filter - update main VSI filters for RDMA
212 dev_err(ice_pf_to_dev(pf), "Failed to %sable RDMA filtering\n", in ice_rdma_update_vsi_filter()
[all …]
/linux/drivers/infiniband/hw/hfi1/
H A Dverbs.h18 #include <rdma/ib_pack.h>
19 #include <rdma/ib_user_verbs.h>
20 #include <rdma/ib_mad.h>
21 #include <rdma/ib_hdrs.h>
22 #include <rdma/rdma_vt.h>
23 #include <rdma/rdmavt_qp.h>
24 #include <rdma/rdmavt_cq.h>
134 atomic_t n_requests; /* # of TID RDMA requests in the */
136 atomic_t n_tid_requests; /* # of sent TID RDMA requests */
140 /* variables for the TID RDMA SE state machine */
[all …]
/linux/include/linux/
H A Dnvme-rdma.h58 * struct nvme_rdma_cm_req - rdma connect request
60 * @recfmt: format of the RDMA Private Data
75 * struct nvme_rdma_cm_rep - rdma connect reply
77 * @recfmt: format of the RDMA Private Data
87 * struct nvme_rdma_cm_rej - rdma connect reject
89 * @recfmt: format of the RDMA Private Data
/linux/drivers/infiniband/ulp/srp/
H A Dib_srp.h44 #include <rdma/ib_verbs.h>
45 #include <rdma/ib_sa.h>
46 #include <rdma/ib_cm.h>
47 #include <rdma/rdma_cm.h>
97 * RDMA adapter in the initiator system.
99 * @dev_list: List of RDMA ports associated with this RDMA adapter (srp_host).
118 * One port of an RDMA adapter in the initiator system.
145 * @comp_vector: Completion vector used by this RDMA channel.
196 * struct srp_target_port - RDMA port in the SRP target system
197 * @comp_vector: Completion vector used by the first RDMA channel created for
/linux/drivers/infiniband/sw/rxe/
H A DKconfig3 tristate "Software RDMA over Ethernet (RoCE) driver"
9 This driver implements the InfiniBand RDMA transport over
18 Linux RDMA stack and implements a kernel or user space
27 https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md
/linux/drivers/infiniband/ulp/srpt/
H A Dib_srpt.h42 #include <rdma/ib_verbs.h>
43 #include <rdma/ib_sa.h>
44 #include <rdma/ib_cm.h>
45 #include <rdma/rdma_cm.h>
46 #include <rdma/rw.h>
202 * @rw_ctxs: RDMA read/write contexts.
204 * @rdma_cqe: RDMA completion queue element.
251 * struct srpt_rdma_ch - RDMA channel
257 * @rdma_cm.cm_id: RDMA CM ID associated with the channel.
277 * @using_rdma_cm: Whether the RDMA/CM or IB/CM is used for this channel.
[all …]
/linux/fs/smb/client/
H A Dsmbdirect.c27 * Default maximum number of RDMA read/write outstanding on this connection
71 * User configurable initial values for RDMA transport
74 /* Default maximum number of pages in a single RDMA write/read */
77 /* If payload is less than this byte, use RDMA send/recv not read/write */
198 * Destroy the transport and related RDMA and memory resources
207 log_rdma_event(INFO, "rdma session already destroyed\n"); in smbd_destroy()
223 log_rdma_event(INFO, "reconnecting rdma session\n"); in smbd_reconnect()
226 log_rdma_event(INFO, "rdma session already destroyed\n"); in smbd_reconnect()
232 * notification from RDMA, but upper layer has detected timeout in smbd_reconnect()
238 log_rdma_event(INFO, "creating rdma session\n"); in smbd_reconnect()
[all …]
/linux/tools/testing/selftests/rdma/
H A Drxe_socket_with_netns.sh14 rdma link del rxe1 2>/dev/null
15 rdma link del rxe0 2>/dev/null
43 rdma link add rxe0 type rxe netdev tun0
55 rdma link add rxe1 type rxe netdev tun1
65 rdma link del rxe1
74 rdma link del rxe0
H A Drxe_rping_between_netns.sh18 rdma link del rxe1 2>/dev/null
19 ip netns exec "$NS" rdma link del rxe0 2>/dev/null
55 echo "Creating RDMA links..."
56 ip netns exec "$NS" rdma link add rxe0 type rxe netdev "$VETH_A"
57 rdma link add rxe1 type rxe netdev "$VETH_B"
88 echo "SUCCESS: RDMA traffic verified."

12345678910>>...17