Skip to content

Commit 00676bb

Browse files
issue: 4656811 Removing TSO
Removing TSO (TCP Segmentation offload) compilation flavor. Signed-off-by: Alexander Grissik <[email protected]>
1 parent 0dc96e0 commit 00676bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+32
-1783
lines changed

.ci/matrix_job.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ matrix:
6363
axes:
6464
flags:
6565
- default
66-
- extra
6766
arch:
6867
- x86_64
6968
- aarch64

README

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ Example:
115115
VMA DETAILS: TCP max syn rate 0 (no limit) [VMA_TCP_MAX_SYN_RATE]
116116
VMA DETAILS: Tx Mem Segs TCP 1000000 [VMA_TX_SEGS_TCP]
117117
VMA DETAILS: Tx Mem Bufs 200000 [VMA_TX_BUFS]
118-
VMA DETAILS: Tx Mem Buf size 0 [VMA_TX_BUF_SIZE]
119118
VMA DETAILS: Tx QP WRE 2048 [VMA_TX_WRE]
120119
VMA DETAILS: Tx QP WRE Batching 64 [VMA_TX_WRE_BATCHING]
121120
VMA DETAILS: Tx Max QP INLINE 204 [VMA_TX_MAX_INLINE]
@@ -264,7 +263,6 @@ latency
264263
VMA_RX_WRE = 256 (default: 16000)
265264
VMA_RX_WRE_BATCHING = 4 (default: 64)
266265
VMA_RX_POLL = -1 (default: 100000)
267-
VMA_TSO = Disable (default: Enable)
268266
VMA_RX_PREFETCH_BYTES_BEFORE_POLL = 256 (default: 0)
269267
VMA_GRO_STREAMS_MAX = 0 (default: 32)
270268
VMA_SELECT_POLL = -1 (default: 100000)
@@ -354,11 +352,6 @@ VMA_TX_BUFS
354352
Number of global Tx data buffer elements allocation.
355353
Default value is 200000
356354

357-
VMA_TX_BUF_SIZE
358-
Size of Tx data buffer elements allocation.
359-
Can not be less then MTU (Maximum Transfer Unit) and greater than 0xFF00.
360-
Default value is calculated basing on VMA_MTU and VMA_MSS.
361-
362355
VMA_TX_WRE
363356
Number of Work Request Elements allocated in all transmit QP's.
364357
The number of QP's can change according to the number of network offloaded
@@ -491,16 +484,6 @@ Value range is -1, 0 to 100,000,000
491484
Where value of -1 is used for infinite polling
492485
Default value is 100000
493486

494-
VMA_TSO
495-
With Segmentation Offload, or TCP Large Send, TCP can pass a buffer to be
496-
transmitted that is bigger than the maximum transmission unit (MTU) supported
497-
by the medium. Intelligent adapters implement large sends by using the
498-
prototype TCP and IP headers of the incoming send buffer to carve out segments
499-
of required size. Copying the prototype header and options, then calculating
500-
the sequence number and checksum fields creates TCP segment headers.
501-
Expected benefits: Throughput increase and CPU unload.
502-
Default value is 1 (Enable)
503-
504487
VMA_RX_POLL_INIT
505488
VMA maps all UDP sockets as potential offloaded capable. Only after the
506489
ADD_MEMBERSHIP does the offload start to work and the CQ polling kicks in VMA.

config/m4/verbs.m4

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ if test "x$vma_cv_verbs" == x2; then
150150
CHECK_VERBS_ATTRIBUTE([IBV_EXP_DEVICE_ATTR_MAX_DM_SIZE], [infiniband/verbs_exp.h], [IBV_DM])
151151
CHECK_VERBS_ATTRIBUTE([IBV_EXP_QP_RATE_LIMIT], [infiniband/verbs_exp.h], [IBV_PACKET_PACING_CAPS])
152152
CHECK_VERBS_ATTRIBUTE([IBV_EXP_QP_SUPPORT_BURST], [infiniband/verbs_exp.h], [IBV_QP_SUPPORT_BURST])
153-
CHECK_VERBS_ATTRIBUTE([IBV_EXP_WR_TSO], [infiniband/verbs_exp.h], [OPCODE_TSO])
154153
CHECK_VERBS_ATTRIBUTE([IBV_EXP_DEVICE_CROSS_CHANNEL], [infiniband/verbs_exp.h], [IBV_DEVICE_CROSS_CHANNEL])
155154
156155
#
@@ -180,8 +179,6 @@ fi
180179
# Check Upstream
181180
#
182181
if test "x$vma_cv_verbs" == x3; then
183-
CHECK_VERBS_ATTRIBUTE([IBV_WR_TSO], [infiniband/verbs.h], [OPCODE_TSO])
184-
185182
if test "x$vma_cv_directverbs" == x3; then
186183
CHECK_VERBS_ATTRIBUTE([MLX5_OPCODE_NOP], [infiniband/mlx5dv.h], [IBV_WR_NOP])
187184
CHECK_VERBS_MEMBER([struct mlx5dv_clock_info.last_cycles], [infiniband/mlx5dv.h], [IBV_CLOCK_INFO])

configure.ac

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -255,20 +255,6 @@ else
255255
AC_MSG_RESULT([no])
256256
fi
257257

258-
# Control TSO usage
259-
#
260-
AC_ARG_ENABLE([tso],
261-
AS_HELP_STRING([--enable-tso],
262-
[Enable TSO availability (default=no)]))
263-
AC_MSG_CHECKING(
264-
[for tso support])
265-
if test "x$enable_tso" = xyes -a "x$vma_cv_attribute_ex_OPCODE_TSO" = xyes; then
266-
AC_DEFINE_UNQUOTED([DEFINED_TSO], [1], [Define to 1 to use TSO])
267-
AC_MSG_RESULT([yes])
268-
else
269-
AC_MSG_RESULT([no])
270-
fi
271-
272258
AC_MSG_CHECKING([for md5 version of VMA statistics is])
273259
STATS_PROTOCOL_VER=`md5sum ${srcdir}/src/vma/util/vma_stats.h | awk '{ print $1}'`
274260
AC_DEFINE_UNQUOTED(STATS_PROTOCOL_VER, "${STATS_PROTOCOL_VER}", [Stats Protocol Version])

contrib/build_pkg.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ contrib/build_pkg.sh -s
5454
* Prepare source package directly from github using tag or branch
5555
contrib/build_pkg.sh -s -i /tmp/libvma-9.0.2 -c 9.0.2
5656
* Pass none default configuration options
57-
contrib/build_pkg.sh -b -s -a "configure_options=--enable-tso"
57+
contrib/build_pkg.sh -b -s -a "configure_options=--enable-debug"
5858
* Create release
59-
env PRJ_RELEASE=1 contrib/build_pkg.sh -b -s -a "configure_options=--enable-tso"
59+
env PRJ_RELEASE=1 contrib/build_pkg.sh -b -s -a "configure_options=--enable-debug"
6060
EOF
6161
exit 1
6262
;;

contrib/jenkins_tests/rpm.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,10 @@ if [ $opt_binrpm -eq 1 ]; then
8484
fi
8585

8686
if [ $opt_checkpkg -eq 1 ]; then
87-
test_exec="env RPM_BUILD_NCPUS=${NPROC} PRJ_RELEASE=1 ${WORKSPACE}/contrib/build_pkg.sh -b -s -a \"configure_options=$jenkins_test_custom_configure\" -i ${WORKSPACE} -o ${rpm_dir}/dist-pkg"
87+
if [ -n "$jenkins_test_custom_configure" ]; then
88+
custom_configure_option="-a \"configure_options=$jenkins_test_custom_configure\""
89+
fi
90+
test_exec="env RPM_BUILD_NCPUS=${NPROC} PRJ_RELEASE=1 ${WORKSPACE}/contrib/build_pkg.sh -b -s $custom_configure_option -i ${WORKSPACE} -o ${rpm_dir}/dist-pkg"
8891
do_check_result "$test_exec" "$test_id" "checkpkg" "$rpm_tap" "${rpm_dir}/rpm-${test_id}"
8992
test_id=$((test_id+1))
9093
fi

contrib/test_jenkins.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,7 @@ do_check_env
9797
TARGET=${TARGET:=all}
9898
i=0
9999
if [ "$TARGET" == "all" -o "$TARGET" == "default" ]; then
100-
target_list[$i]="default: --disable-tso"
101-
i=$((i+1))
102-
fi
103-
if [ "$TARGET" == "all" -o "$TARGET" == "extra" ]; then
104-
target_list[$i]="extra: --enable-tso"
100+
target_list[$i]="default: "
105101
i=$((i+1))
106102
fi
107103

src/vma/dev/ib_ctx_handler.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@ class ib_ctx_handler : public event_handler_ibverbs
4848
inline char* get_ibname() { return (m_p_ibv_device ? m_p_ibv_device->name : (char *)""); }
4949
struct ibv_context* get_ibv_context() { return m_p_ibv_context; }
5050
vma_ibv_device_attr* get_ibv_device_attr() { return vma_get_device_orig_attr(m_p_ibv_device_attr); }
51-
#ifdef DEFINED_TSO
52-
vma_ibv_device_attr_ex* get_ibv_device_attr_ex() { return m_p_ibv_device_attr; }
53-
#endif /* DEFINED_TSO */
5451
uint32_t mem_reg(void *addr, size_t length, uint64_t access);
5552
void mem_dereg(uint32_t lkey);
5653
struct ibv_mr* get_mem_reg(uint32_t lkey);

src/vma/dev/qp_mgr.cpp

Lines changed: 5 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,7 @@ qp_mgr::qp_mgr(struct qp_mgr_desc *desc, const uint32_t tx_num_wr):
6060
,m_n_ip_id_base(0)
6161
,m_n_ip_id_offset(0)
6262
{
63-
#ifdef DEFINED_TSO
64-
memset(&m_qp_cap, 0, sizeof(m_qp_cap));
65-
m_qp_cap.max_inline_data = safe_mce_sys().tx_max_inline;
66-
m_qp_cap.max_send_sge = (m_p_ring->is_tso() ?
67-
m_p_ib_ctx_handler->get_ibv_device_attr()->max_sge : MCE_DEFAULT_TX_NUM_SGE);
68-
m_qp_cap.max_recv_sge = (m_p_ring->is_socketxtreme()) ? 1 : MCE_DEFAULT_RX_NUM_SGE;
69-
#else
7063
m_max_inline_data = 0;
71-
#endif /* DEFINED_TSO */
72-
7364
m_ibv_rx_sg_array = new ibv_sge[m_n_sysvar_rx_num_wr_to_post_recv];
7465
m_ibv_rx_wr_array = new ibv_recv_wr[m_n_sysvar_rx_num_wr_to_post_recv];
7566

@@ -188,78 +179,6 @@ int qp_mgr::configure(struct qp_mgr_desc *desc)
188179
vma_ibv_qp_init_attr qp_init_attr;
189180
memset(&qp_init_attr, 0, sizeof(qp_init_attr));
190181

191-
#ifdef DEFINED_TSO
192-
// TODO: m_tx_num_wr and m_rx_num_wr should be part of m_qp_cap
193-
// and assigned as a result of ibv_query_qp()
194-
m_qp_cap.max_send_wr = m_tx_num_wr;
195-
m_qp_cap.max_recv_wr = m_rx_num_wr;
196-
197-
memcpy(&qp_init_attr.cap, &m_qp_cap, sizeof(qp_init_attr.cap));
198-
qp_init_attr.recv_cq = m_p_cq_mgr_rx->get_ibv_cq_hndl();
199-
qp_init_attr.send_cq = m_p_cq_mgr_tx->get_ibv_cq_hndl();
200-
qp_init_attr.sq_sig_all = 0;
201-
202-
// In case of enabled TSO we need to take into account amount of SGE together with header inline
203-
// Per PRM maximum of CTRL + ETH + ETH_HEADER_INLINE+DATA_PTR*NUM_SGE+MAX_INLINE+INLINE_SIZE
204-
// MLX5 return 32678 WQEBBs at max so minimal number
205-
int max_wqe_sz = 16+14+m_p_ring->m_tso.max_header_sz+16*qp_init_attr.cap.max_send_sge+qp_init_attr.cap.max_inline_data+4;
206-
int num_wr = 32678*64/max_wqe_sz;
207-
qp_logdbg("calculated max_wqe_sz=%d num_wr=%d", max_wqe_sz, num_wr);
208-
if (num_wr < (signed)m_tx_num_wr) {
209-
qp_init_attr.cap.max_send_wr = num_wr; // force min for create_qp or you will have error of memory allocation
210-
}
211-
212-
qp_logdbg("Requested QP parameters: "
213-
"wre: tx = %d rx = %d "
214-
"sge: tx = %d rx = %d "
215-
"inline: %d",
216-
qp_init_attr.cap.max_send_wr, qp_init_attr.cap.max_recv_wr,
217-
qp_init_attr.cap.max_send_sge, qp_init_attr.cap.max_recv_sge,
218-
qp_init_attr.cap.max_inline_data);
219-
220-
// Create the QP
221-
if (prepare_ibv_qp(qp_init_attr)) {
222-
return -1;
223-
}
224-
225-
qp_logdbg("Configured QP parameters: "
226-
"wre: tx = %d rx = %d "
227-
"sge: tx = %d rx = %d "
228-
"inline: %d",
229-
qp_init_attr.cap.max_send_wr, qp_init_attr.cap.max_recv_wr,
230-
qp_init_attr.cap.max_send_sge, qp_init_attr.cap.max_recv_sge,
231-
qp_init_attr.cap.max_inline_data);
232-
233-
/* Check initial parameters with actual */
234-
enum ibv_qp_attr_mask attr_mask = IBV_QP_CAP;
235-
struct ibv_qp_attr tmp_ibv_qp_attr;
236-
struct ibv_qp_init_attr tmp_ibv_qp_init_attr;
237-
IF_VERBS_FAILURE(ibv_query_qp(m_qp, &tmp_ibv_qp_attr, attr_mask,
238-
&tmp_ibv_qp_init_attr)) {
239-
qp_logerr("ibv_query_qp failed (errno=%d %m)", errno);
240-
return -1;
241-
} ENDIF_VERBS_FAILURE;
242-
m_qp_cap.max_send_wr = min(tmp_ibv_qp_attr.cap.max_send_wr, m_qp_cap.max_send_wr);
243-
m_qp_cap.max_recv_wr = min(tmp_ibv_qp_attr.cap.max_recv_wr, m_qp_cap.max_recv_wr);
244-
m_qp_cap.max_send_sge = min(tmp_ibv_qp_attr.cap.max_send_sge, m_qp_cap.max_send_sge);
245-
m_qp_cap.max_recv_sge = min(tmp_ibv_qp_attr.cap.max_recv_sge, m_qp_cap.max_recv_sge);
246-
m_qp_cap.max_inline_data = min(tmp_ibv_qp_attr.cap.max_inline_data, m_qp_cap.max_inline_data);
247-
248-
if ( m_qp_cap.max_send_wr < m_tx_num_wr ) {
249-
qp_logwarn("Amount of requested TX_WRE %d lowered to %d", m_tx_num_wr, m_qp_cap.max_send_wr);
250-
m_tx_num_wr = m_qp_cap.max_send_wr;
251-
m_p_ring->set_tx_num_wr( m_tx_num_wr );
252-
}
253-
254-
qp_logdbg("Used QP (num=%d) "
255-
"wre: tx = %d rx = %d "
256-
"sge: tx = %d rx = %d "
257-
"inline: %d",
258-
m_qp->qp_num,
259-
m_qp_cap.max_send_wr, m_qp_cap.max_recv_wr,
260-
m_qp_cap.max_send_sge, m_qp_cap.max_recv_sge,
261-
m_qp_cap.max_inline_data);
262-
#else
263182
// Check device capabilities for max SG elements
264183
uint32_t tx_max_inline = safe_mce_sys().tx_max_inline;
265184
uint32_t rx_num_sge = (m_p_ring->is_socketxtreme() ? 1 : MCE_DEFAULT_RX_NUM_SGE);
@@ -282,7 +201,6 @@ int qp_mgr::configure(struct qp_mgr_desc *desc)
282201
qp_logdbg("Created QP (num=%d) with %d tx wre and inline=%d and %d rx "
283202
"wre and %d sge", m_qp->qp_num, m_tx_num_wr, m_max_inline_data,
284203
m_rx_num_wr, rx_num_sge);
285-
#endif /* DEFINED_TSO */
286204

287205
#if defined(DEFINED_ROCE_LAG)
288206
if (desc->slave && desc->slave->lag_tx_port_affinity > 0) {
@@ -680,13 +598,6 @@ int qp_mgr_eth::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
680598
qp_init_attr.qp_type = IBV_QPT_RAW_PACKET;
681599
vma_ibv_qp_init_attr_comp_mask(m_p_ib_ctx_handler->get_ibv_pd(), qp_init_attr);
682600

683-
#ifdef DEFINED_TSO
684-
if (m_p_ring->is_tso()) {
685-
vma_ibv_qp_init_attr_tso(qp_init_attr, m_p_ring->get_max_header_sz());
686-
qp_logdbg("create qp with max_tso_header = %d", m_p_ring->get_max_header_sz());
687-
}
688-
#endif /* DEFINED_TSO */
689-
690601
m_qp = vma_ibv_create_qp(m_p_ib_ctx_handler->get_ibv_pd(), &qp_init_attr);
691602

692603
BULLSEYE_EXCLUDE_BLOCK_START
@@ -701,8 +612,6 @@ int qp_mgr_eth::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
701612
}
702613
BULLSEYE_EXCLUDE_BLOCK_END
703614

704-
#ifdef DEFINED_TSO
705-
#else
706615
enum ibv_qp_attr_mask attr_mask = IBV_QP_CAP;
707616
struct ibv_qp_attr tmp_ibv_qp_attr;
708617
struct ibv_qp_init_attr tmp_ibv_qp_init_attr;
@@ -711,16 +620,18 @@ int qp_mgr_eth::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
711620
qp_logerr("ibv_query_qp failed (errno=%d %m)", errno);
712621
return -1;
713622
} ENDIF_VERBS_FAILURE;
623+
714624
uint32_t tx_max_inline = safe_mce_sys().tx_max_inline;
715625
m_max_inline_data = min(tmp_ibv_qp_attr.cap.max_inline_data, tx_max_inline);
626+
716627
qp_logdbg("requested max inline = %d QP, actual max inline = %d, "
717628
"VMA max inline set to %d, max_send_wr=%d, max_recv_wr=%d, "
718629
"max_recv_sge=%d, max_send_sge=%d",
719630
tx_max_inline, tmp_ibv_qp_init_attr.cap.max_inline_data,
720631
m_max_inline_data, tmp_ibv_qp_attr.cap.max_send_wr,
721632
tmp_ibv_qp_attr.cap.max_recv_wr, tmp_ibv_qp_attr.cap.max_recv_sge,
722633
tmp_ibv_qp_attr.cap.max_send_sge);
723-
#endif /* DEFINED_TSO */
634+
724635
return 0;
725636
}
726637

@@ -750,13 +661,6 @@ int qp_mgr_ib::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
750661
qp_init_attr.qp_type = IBV_QPT_UD;
751662
vma_ibv_qp_init_attr_comp_mask(m_p_ib_ctx_handler->get_ibv_pd(), qp_init_attr);
752663

753-
#ifdef DEFINED_TSO
754-
if (m_p_ring->is_tso()) {
755-
vma_ibv_qp_init_attr_tso(qp_init_attr, m_p_ring->get_max_header_sz());
756-
qp_logdbg("create qp with max_tso_header = %d", m_p_ring->get_max_header_sz());
757-
}
758-
#endif /* DEFINED_TSO */
759-
760664
if (m_underly_qpn) {
761665
ibv_source_qpn_set(qp_init_attr, m_underly_qpn);
762666
qp_logdbg("create qp using underly qpn = 0x%X", m_underly_qpn);
@@ -781,8 +685,6 @@ int qp_mgr_ib::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
781685
}
782686
BULLSEYE_EXCLUDE_BLOCK_END
783687

784-
#ifdef DEFINED_TSO
785-
#else
786688
enum ibv_qp_attr_mask attr_mask = IBV_QP_CAP;
787689
struct ibv_qp_attr tmp_ibv_qp_attr;
788690
struct ibv_qp_init_attr tmp_ibv_qp_init_attr;
@@ -791,16 +693,17 @@ int qp_mgr_ib::prepare_ibv_qp(vma_ibv_qp_init_attr& qp_init_attr)
791693
qp_logerr("ibv_query_qp failed (errno=%d %m)", errno);
792694
return -1;
793695
} ENDIF_VERBS_FAILURE;
696+
794697
uint32_t tx_max_inline = safe_mce_sys().tx_max_inline;
795698
m_max_inline_data = min(tmp_ibv_qp_attr.cap.max_inline_data, tx_max_inline);
699+
796700
qp_logdbg("requested max inline = %d QP, actual max inline = %d, "
797701
"VMA max inline set to %d, max_send_wr=%d, max_recv_wr=%d, "
798702
"max_recv_sge=%d, max_send_sge=%d",
799703
tx_max_inline, tmp_ibv_qp_init_attr.cap.max_inline_data,
800704
m_max_inline_data, tmp_ibv_qp_attr.cap.max_send_wr,
801705
tmp_ibv_qp_attr.cap.max_recv_wr, tmp_ibv_qp_attr.cap.max_recv_sge,
802706
tmp_ibv_qp_attr.cap.max_send_sge);
803-
#endif /* DEFINED_TSO */
804707

805708
return 0;
806709
}

src/vma/dev/qp_mgr.h

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,7 @@ friend class cq_mgr_mp;
7474
virtual void post_recv_buffer(mem_buf_desc_t* p_mem_buf_desc); // Post for receive single mem_buf_desc
7575
void post_recv_buffers(descq_t* p_buffers, size_t count); // Post for receive a list of mem_buf_desc
7676
int send(vma_ibv_send_wr* p_send_wqe, vma_wr_tx_packet_attr attr);
77-
78-
#ifdef DEFINED_TSO
79-
inline uint32_t get_max_inline_data() const {
80-
return m_qp_cap.max_inline_data;
81-
}
82-
inline uint32_t get_max_send_sge() const {
83-
return m_qp_cap.max_send_sge;
84-
}
85-
#else
8677
uint32_t get_max_inline_data() const {return m_max_inline_data; }
87-
#endif /* DEFINED_TSO */
8878
int get_port_num() const { return m_port_num; }
8979
virtual uint16_t get_partiton() const { return 0; };
9080
virtual uint32_t get_underly_qpn() const { return 0; };
@@ -107,29 +97,20 @@ friend class cq_mgr_mp;
10797
static inline bool is_lib_mlx5(const char* device_name) {return strstr(device_name, "mlx5");}
10898
virtual void dm_release_data(mem_buf_desc_t* buff) { NOT_IN_USE(buff); }
10999
virtual bool fill_hw_descriptors(vma_mlx_hw_device_data &data) {NOT_IN_USE(data);return false;};
100+
110101
protected:
111102
struct ibv_qp* m_qp;
112103
uint64_t* m_rq_wqe_idx_to_wrid;
113-
114104
ring_simple* m_p_ring;
115105
uint8_t m_port_num;
116106
ib_ctx_handler* m_p_ib_ctx_handler;
117-
118-
#ifdef DEFINED_TSO
119-
struct ibv_qp_cap m_qp_cap;
120-
#else
121107
uint32_t m_max_inline_data;
122-
#endif /* DEFINED_TSO */
123108
uint32_t m_max_qp_wr;
124-
125109
cq_mgr* m_p_cq_mgr_rx;
126110
cq_mgr* m_p_cq_mgr_tx;
127-
128111
uint32_t m_rx_num_wr;
129112
uint32_t m_tx_num_wr;
130-
131113
bool m_hw_dummy_send_support;
132-
133114
uint32_t m_n_sysvar_rx_num_wr_to_post_recv;
134115
const uint32_t m_n_sysvar_tx_num_wr_to_signal;
135116
const uint32_t m_n_sysvar_rx_prefetch_bytes_before_poll;
@@ -143,7 +124,6 @@ friend class cq_mgr_mp;
143124
// send wr
144125
uint32_t m_n_unsignaled_count;
145126
mem_buf_desc_t* m_p_last_tx_mem_buf_desc; // Remembered so we can list several mem_buf_desc_t on a single notification request
146-
147127
mem_buf_desc_t* m_p_prev_rx_desc_pushed;
148128

149129
// generating packet IDs

0 commit comments

Comments
 (0)