Skip to content

Commit

Permalink
Merge pull request #8406 from sunkuamzn/ep-squash-base-ep
Browse files Browse the repository at this point in the history
prov/efa: Introduce efa_base_ep, change directory structure, clean up efa_ep and fix a bug in debug path
  • Loading branch information
wzamazon authored Jan 13, 2023
2 parents 99d2ceb + 32e415d commit 85d930e
Show file tree
Hide file tree
Showing 55 changed files with 610 additions and 475 deletions.
74 changes: 38 additions & 36 deletions libfabric.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -874,41 +874,41 @@
</ClCompile>
</ItemGroup>
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Efa-v142|x64' OR '$(Configuration)|$(Platform)'=='Release-Efa-v142|x64'">
<ClCompile Include="prov\efa\src\windows\efawin.c" />
<ClCompile Include="prov\efa\src\efa_av.c" />
<ClCompile Include="prov\efa\src\efa_cm.c" />
<ClCompile Include="prov\efa\src\efa_cq.c" />
<ClCompile Include="prov\efa\src\efa_hmem.c" />
<ClCompile Include="prov\efa\src\efa_device.c" />
<ClCompile Include="prov\efa\src\efa_domain.c" />
<ClCompile Include="prov\efa\src\efa_ep.c" />
<ClCompile Include="prov\efa\src\efa_fabric.c" />
<ClCompile Include="prov\efa\src\efa_mr.c" />
<ClCompile Include="prov\efa\src\efa_msg.c" />
<ClCompile Include="prov\efa\src\efa_rma.c" />
<ClCompile Include="prov\efa\src\efa_shm.c" />
<ClCompile Include="prov\efa\src\efa_strerror.c" />
<ClCompile Include="prov\efa\src\efa_user_info.c" />
<ClCompile Include="prov\efa\src\efa_prov_info.c" />
<ClCompile Include="prov\efa\src\efa_fork_support.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_type_base.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_op_entry.c" />
<ClCompile Include="prov\efa\src\windows\efawin.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_atomic.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_cntr.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_cq.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_ep.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_env.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_msg.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_cmd.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_entry.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_pool.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_type_data.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_type_misc.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_pkt_type_req.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_read.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_rma.c" />
<ClCompile Include="prov\efa\src\rxr\rxr_prov.c" />
<ClCompile Include="prov\efa\src\rxr\efa_rdm_peer.c" />
<ClCompile Include="prov\efa\src\dgram\efa_cm.c" />
<ClCompile Include="prov\efa\src\dgram\efa_ep.c" />
<ClCompile Include="prov\efa\src\dgram\efa_msg.c" />
<ClCompile Include="prov\efa\src\dgram\efa_rma.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_type_base.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_op_entry.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_atomic.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_cntr.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_cq.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_ep.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_env.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_msg.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_cmd.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_entry.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_pool.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_type_data.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_type_misc.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_pkt_type_req.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_read.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_rma.c" />
<ClCompile Include="prov\efa\src\rdm\rxr_prov.c" />
<ClCompile Include="prov\efa\src\rdm\efa_rdm_peer.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\fasthash.h" />
Expand Down Expand Up @@ -1010,25 +1010,27 @@
<ClInclude Include="prov\verbs\include\windows\rdma\rdma_cma.h" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Efa-v142|x64' OR '$(Configuration)|$(Platform)'=='Release-Efa-v142|x64'">
<ClInclude Include="prov\efa\src\efa.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_type_base.h" />
<ClInclude Include="prov\efa\src\windows\efacompat.h" />
<ClInclude Include="prov\efa\src\windows\efawinver.h" />
<ClInclude Include="prov\efa\src\windows\infiniband\efadv.h" />
<ClInclude Include="prov\efa\src\windows\efawin.h" />
<ClInclude Include="prov\efa\src\windows\infiniband\verbs.h" />
<ClInclude Include="prov\efa\src\windows\infiniband\verbs_defs.h" />
<ClInclude Include="prov\efa\src\rxr\rxr.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_atomic.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_cntr.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_msg.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_cmd.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_entry.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_pool.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_type.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_pkt_type_req.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_read.h" />
<ClInclude Include="prov\efa\src\rxr\rxr_rma.h" />
<ClInclude Include="prov\efa\src\efa.h" />
<ClInclude Include="prov\efa\src\efa_base_ep.h" />
<ClInclude Include="prov\efa\src\dgram\efa_dgram.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_type_base.h" />
<ClInclude Include="prov\efa\src\rdm\rxr.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_atomic.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_cntr.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_msg.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_cmd.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_entry.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_pool.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_type.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_pkt_type_req.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_read.h" />
<ClInclude Include="prov\efa\src\rdm\rxr_rma.h" />
</ItemGroup>
<ItemGroup>
<None Include="libfabric.def" />
Expand Down
86 changes: 44 additions & 42 deletions prov/efa/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -36,37 +36,37 @@ _efa_files = \
prov/efa/src/efa_shm.c \
prov/efa/src/efa_av.c \
prov/efa/src/efa_domain.c \
prov/efa/src/efa_cm.c \
prov/efa/src/efa_cq.c \
prov/efa/src/efa_ep.c \
prov/efa/src/efa_fabric.c \
prov/efa/src/efa_msg.c \
prov/efa/src/efa_mr.c \
prov/efa/src/efa_rma.c \
prov/efa/src/efa_strerror.c \
prov/efa/src/efa_user_info.c \
prov/efa/src/efa_prov_info.c \
prov/efa/src/efa_fork_support.c \
prov/efa/src/efa_tp_def.c \
prov/efa/src/rxr/efa_rdm_peer.c \
prov/efa/src/rxr/rxr_prov.c \
prov/efa/src/rxr/rxr_env.c \
prov/efa/src/rxr/rxr_cq.c \
prov/efa/src/rxr/rxr_ep.c \
prov/efa/src/rxr/rxr_cntr.c \
prov/efa/src/rxr/rxr_rma.c \
prov/efa/src/rxr/rxr_msg.c \
prov/efa/src/rxr/rxr_pkt_entry.c \
prov/efa/src/rxr/rxr_pkt_type_req.c \
prov/efa/src/rxr/rxr_pkt_type_base.c \
prov/efa/src/rxr/rxr_pkt_type_data.c \
prov/efa/src/rxr/rxr_pkt_type_misc.c \
prov/efa/src/rxr/rxr_pkt_cmd.c \
prov/efa/src/rxr/rxr_pkt_pool.c \
prov/efa/src/rxr/rxr_read.c \
prov/efa/src/rxr/rxr_op_entry.c \
prov/efa/src/rxr/rxr_atomic.c \
prov/efa/src/rxr/rxr_tp_def.c
prov/efa/src/dgram/efa_cm.c \
prov/efa/src/dgram/efa_ep.c \
prov/efa/src/dgram/efa_msg.c \
prov/efa/src/dgram/efa_rma.c \
prov/efa/src/rdm/efa_rdm_peer.c \
prov/efa/src/rdm/rxr_prov.c \
prov/efa/src/rdm/rxr_env.c \
prov/efa/src/rdm/rxr_cq.c \
prov/efa/src/rdm/rxr_ep.c \
prov/efa/src/rdm/rxr_cntr.c \
prov/efa/src/rdm/rxr_rma.c \
prov/efa/src/rdm/rxr_msg.c \
prov/efa/src/rdm/rxr_pkt_entry.c \
prov/efa/src/rdm/rxr_pkt_type_req.c \
prov/efa/src/rdm/rxr_pkt_type_base.c \
prov/efa/src/rdm/rxr_pkt_type_data.c \
prov/efa/src/rdm/rxr_pkt_type_misc.c \
prov/efa/src/rdm/rxr_pkt_cmd.c \
prov/efa/src/rdm/rxr_pkt_pool.c \
prov/efa/src/rdm/rxr_read.c \
prov/efa/src/rdm/rxr_op_entry.c \
prov/efa/src/rdm/rxr_atomic.c \
prov/efa/src/rdm/rxr_tp_def.c

_efa_headers = \
prov/efa/src/efa.h \
Expand All @@ -80,27 +80,29 @@ _efa_headers = \
prov/efa/src/efa_prov_info.h \
prov/efa/src/efa_fork_support.h \
prov/efa/src/efa_cq.h \
prov/efa/src/efa_base_ep.h \
prov/efa/src/efa_tp_def.h \
prov/efa/src/efa_tp.h \
prov/efa/src/rxr/efa_rdm_peer.h \
prov/efa/src/rxr/rxr.h \
prov/efa/src/rxr/rxr_env.h \
prov/efa/src/rxr/rxr_cntr.h \
prov/efa/src/rxr/rxr_rma.h \
prov/efa/src/rxr/rxr_msg.h \
prov/efa/src/rxr/rxr_pkt_hdr.h \
prov/efa/src/rxr/rxr_pkt_entry.h \
prov/efa/src/rxr/rxr_pkt_type.h \
prov/efa/src/rxr/rxr_pkt_type_req.h \
prov/efa/src/rxr/rxr_pkt_type_base.h \
prov/efa/src/rxr/rxr_pkt_cmd.h \
prov/efa/src/rxr/rxr_pkt_pool.h \
prov/efa/src/rxr/rxr_read.h \
prov/efa/src/rxr/rxr_atomic.h \
prov/efa/src/rxr/rxr_op_entry.h \
prov/efa/src/rxr/rdm_proto_v4.h \
prov/efa/src/rxr/rxr_tp_def.h \
prov/efa/src/rxr/rxr_tp.h
prov/efa/src/dgram/efa_dgram.h \
prov/efa/src/rdm/efa_rdm_peer.h \
prov/efa/src/rdm/rxr.h \
prov/efa/src/rdm/rxr_env.h \
prov/efa/src/rdm/rxr_cntr.h \
prov/efa/src/rdm/rxr_rma.h \
prov/efa/src/rdm/rxr_msg.h \
prov/efa/src/rdm/rxr_pkt_hdr.h \
prov/efa/src/rdm/rxr_pkt_entry.h \
prov/efa/src/rdm/rxr_pkt_type.h \
prov/efa/src/rdm/rxr_pkt_type_req.h \
prov/efa/src/rdm/rxr_pkt_type_base.h \
prov/efa/src/rdm/rxr_pkt_cmd.h \
prov/efa/src/rdm/rxr_pkt_pool.h \
prov/efa/src/rdm/rxr_read.h \
prov/efa/src/rdm/rxr_atomic.h \
prov/efa/src/rdm/rxr_op_entry.h \
prov/efa/src/rdm/rdm_proto_v4.h \
prov/efa/src/rdm/rxr_tp_def.h \
prov/efa/src/rdm/rxr_tp.h

if HAVE_LTTNG
efa_LDFLAGS += -llttng-ust
Expand Down
9 changes: 5 additions & 4 deletions prov/efa/src/efa_cm.c → prov/efa/src/dgram/efa_cm.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
*/

#include "config.h"
#include "efa_dgram.h"
#include "efa.h"

static int efa_copy_addr(void *dst_addr, size_t *dst_addrlen, void *src_addr)
Expand All @@ -50,12 +51,12 @@ static int efa_ep_getname(fid_t ep_fid, void *addr, size_t *addrlen)
struct efa_ep *ep;
char str[INET6_ADDRSTRLEN] = { 0 };

ep = container_of(ep_fid, struct efa_ep, util_ep.ep_fid);
ep = container_of(ep_fid, struct efa_ep, base_ep.util_ep.ep_fid);

ep_addr = (struct efa_ep_addr *)ep->src_addr;
ep_addr->qpn = ep->qp->qp_num;
ep_addr = (struct efa_ep_addr *)ep->base_ep.src_addr;
ep_addr->qpn = ep->base_ep.qp->qp_num;
ep_addr->pad = 0;
ep_addr->qkey = ep->qp->qkey;
ep_addr->qkey = ep->base_ep.qp->qkey;

inet_ntop(AF_INET6, ep_addr->raw, str, INET6_ADDRSTRLEN);

Expand Down
49 changes: 49 additions & 0 deletions prov/efa/src/dgram/efa_dgram.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

/*
* Copyright (c) 2018-2022 Amazon.com, Inc. or its affiliates. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
* General Public License (GPL) Version 2, available from the file
* COPYING in the main directory of this source tree, or the
* BSD license below:
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

#include "efa_base_ep.h"

#ifndef EFA_DGRAM_H
#define EFA_DGRAM_H

struct efa_ep {
struct efa_base_ep base_ep;

struct efa_cq *rcq;
struct efa_cq *scq;

struct ofi_bufpool *send_wr_pool;
struct ofi_bufpool *recv_wr_pool;
};

#endif
Loading

0 comments on commit 85d930e

Please sign in to comment.