Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue: Implement doorbell batching for the new API #164

Open
wants to merge 169 commits into
base: vNext
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
1976934
issue: 3514044 Introducing cq_mgr_regrq and cq_mgr_strq
AlexanderGrissik Aug 27, 2023
1495ac4
issue: 3514044 Renaming cq_mgr_mlx5 to cq_mgr_regrq
AlexanderGrissik Aug 27, 2023
fb6022f
issue: 3514044 Renaming cq_mgr_mlx5_strq to cq_mgr_strq
AlexanderGrissik Aug 27, 2023
f21880d
issue: 3514044 Moving cq_mgr_regrq tx methods to cq_mgr
AlexanderGrissik Aug 27, 2023
ea4a4e6
issue: 3514044 Moving cq_mgr_regrq events to cq_mgr
AlexanderGrissik Aug 27, 2023
8f5999c
issue: 3514044 Moving cq_mgr_regrq add_qp_tx to cq_mgr
AlexanderGrissik Aug 27, 2023
16f67fc
issue: 3514044 Moving cq_mgr_regrq RX common to cq_mgr
AlexanderGrissik Aug 27, 2023
52d0cf5
issue: 3514044 Moving Tx from cq_mgr to cq_mgr_tx
AlexanderGrissik Aug 27, 2023
7eb4156
issue: 3514044 Rename cq_mgr to cq_mgr_rx
AlexanderGrissik Aug 28, 2023
553cc35
issue: 3514044 Remove qp_rec struct
AlexanderGrissik Aug 28, 2023
797c40c
issue: 3514044 Squash qp_mgr_eth to qp_mgr
AlexanderGrissik Aug 28, 2023
5fb7681
issue: 3514044 Remove DEFINED_DPCP from qp_mgr and styling fixes
AlexanderGrissik Oct 3, 2023
3e1a3bf
issue: 3514044 Squash qp_mgr_eth_mlx5 to qp_mgr
AlexanderGrissik Oct 3, 2023
6dfaffc
issue: 3514044 Squash qp_mgr_eth_mlx5_dpcp to qp_mgr
AlexanderGrissik Oct 4, 2023
c890d0d
issue: 3514044 Split qp_mgr to hw_queue_tx and hw_queue_rx
AlexanderGrissik Oct 8, 2023
4bd1df4
issue: 3514044 Squash rfs_rule_dpcp to rfs_rule
AlexanderGrissik Oct 8, 2023
01594f5
issue: 3514044 Removing m_attach_flow_data vector from rfs
AlexanderGrissik Oct 9, 2023
d5bb9e4
issue: 3514044 Removing hqrx from attach_flow_data_t
AlexanderGrissik Oct 9, 2023
70b1bb3
issue: 3514044 Removing ibv steering flows
AlexanderGrissik Oct 11, 2023
bc3e728
issue: 3514044 Adding flow tag check through dpcp::adapter
AlexanderGrissik Oct 15, 2023
ea7dfd0
issue: 3514044 Require dpcp for configure and CI
AlexanderGrissik Oct 15, 2023
e2acc51
issue: 3514044 Rebasing changes on top 3.20.5 with coverity fixes
AlexanderGrissik Oct 16, 2023
0e91471
issue 3514044 Fixing package test with mandatory dpcp
AlexanderGrissik Oct 16, 2023
d702e3c
issue: 3514044 Updating min dpcp version to 1.1.43
AlexanderGrissik Dec 31, 2023
67185ae
issue: 3514044 Replacing .inl file with .h
AlexanderGrissik Jan 11, 2024
3ce76f7
issue: 3514044 Removing option_strq
AlexanderGrissik Jan 11, 2024
6cda7bf
issue: 3514044 Removing unnecessary checks
AlexanderGrissik Jan 11, 2024
ecb0c8a
issue: 3745279 Fix artifact generation in CI
alexbriskin Jan 17, 2024
bf0b744
issue: 3664594 Return ETIMEDOUT err for timed out socket
AlexanderGrissik Dec 28, 2023
18f5d31
Issue: 3375239 - add email scan in packages
dpressle Jan 8, 2024
b7ac236
issue: 3724170 Support building as a static library
alexbriskin Jan 8, 2024
2e5c9c6
issue: 3724170 disable LTO in Jenkins compiler tests
alexbriskin Jan 16, 2024
5e8fca0
issue: 3704820 Fix strides in WQE for NGINX master
iftahl Jan 22, 2024
ff34156
issue: 3678579 Update last_unacked on ACK recv
iftahl Nov 22, 2023
4ff44ec
issue: 3678579 Fix last_unsent on retransmission
iftahl Nov 22, 2023
2bf7224
issue: 3678579 Fix last_unacked in tcp_rexmit_rto
iftahl Nov 22, 2023
43fe6e5
issue: 3678579 Update last_unacked in tcp_rexmit
iftahl Nov 22, 2023
95845c3
issue: 3678579 Remove iterating lists to find last
iftahl Nov 22, 2023
8a9d5b2
issue: 3678579 Coverity
iftahl Dec 14, 2023
07203a2
issue: 3690535 Remove SO_XLIO_RING_USER_MEMORY
pasis Dec 3, 2023
b12b93a
issue: 3690535 Reduce ring_allocation_logic size
pasis Dec 3, 2023
8ec6c52
issue: 3690535 Improve condition of ring migration support
pasis Dec 8, 2023
1e92b28
issue: 3690535 Print ring allocation logic type in logs
pasis Dec 8, 2023
871ff34
issue: 3690535 Remove unused fields in sockinfo_tcp
pasis Jan 30, 2024
46d4172
[CI] Coverity: add snapshot action
vialogi Jan 24, 2024
70467eb
issue: 3668182 Add tcp_write_zc/tcp_prealloc_zc
alexbriskin Nov 13, 2023
4713505
issue: 3668182 Connect tcp_write_zc to sockinfo_tcp::tcp_tx
alexbriskin Nov 13, 2023
670058e
issue: 3668182 Remove PBUF_DESC_MAP for send zerocopy
alexbriskin Nov 13, 2023
9ebbfef
issue: 3668182 Allow snd_buf drop below 0 in zero-copy path
alexbriskin Nov 14, 2023
249369d
issue: 3668182 Add sockinfo_tcp::tcp_tx_express
alexbriskin Nov 20, 2023
3c63b73
issue: 3668182 Use tcp_tx_express in TLS tx zerocopy
alexbriskin Dec 5, 2023
cf7ff57
issue: 3668182 Remove zerocopy flow from tcp_write
alexbriskin Dec 31, 2023
94f8392
issue: 3668182 Refactor sockinfo_tcp
alexbriskin Dec 31, 2023
ff55e60
issue: 3668182 Refactor LwIP + sockinfo_tcp + dst_entry_tcp
alexbriskin Nov 15, 2023
1e4e730
issue: 3668182 Fix PR comments
alexbriskin Jan 23, 2024
00db3d7
issue: 3668182 Revert tcp_seg::bufs to pbuf_clen()
alexbriskin Jan 30, 2024
1bc79a7
issue: 3724170 Add missing ifdef __cplusplus
alexbriskin Jan 28, 2024
181f582
issue: 3724170 Remove references to os_api
alexbriskin Jan 29, 2024
72f513d
issue: 3724170 Make xlio.h C standard compliant
benlwalker Jan 26, 2024
65bbb00
issue: 3724170 Disable the constructor/destructor in static build
alexbriskin Jan 29, 2024
24e427f
issue: 3724170 Make socketxtreme API regular function declarations
alexbriskin Jan 30, 2024
569a551
issue: 3724170 Fix compilation for static build
alexbriskin Feb 4, 2024
4534754
issue: 3724170 Disable the *_check functions for the static build
alexbriskin Feb 4, 2024
660afb5
issue: 3771283 Fix function pointer check
alexbriskin Feb 7, 2024
0fe1ee1
version: 3.30.0
galnoam Feb 12, 2024
ae058d1
issue: 3786434 Remove C23 feature from public xlio_extra.h
pasis Feb 19, 2024
2cdbc84
version: 3.30.1
galnoam Feb 22, 2024
9ef53fc
issue: 3792731 Fix -Walloc-size-larger-than warning
pasis Feb 22, 2024
077d5b2
issue: 3514044 Fix null pointer dereference
iftahl Feb 13, 2024
e82e642
issue: 3795922 Remove pbuf_split_64k()
pasis Feb 2, 2024
83fc3f5
issue: 3795922 Remove refused_data in lwip
pasis Feb 2, 2024
74c38c2
issue: 3781322 Fix for 100% CPU load
iftahl Feb 18, 2024
cbdbfec
issue: 3813802 Terminate process instead of 'throw' on panic
pasis Mar 6, 2024
8b076f9
issue: 3813802 Don't wrap xlio_raw_post_recv() with IF_VERBS_FAILURE
pasis Mar 6, 2024
b2c8589
issue: 3813802 Avoid partial initialization of an event_data_t object
pasis Mar 6, 2024
fb1a8ea
issue: 3813802 Remove dst_entry::m_p_send_wqe
pasis Mar 6, 2024
5a7881e
issue: 3813802 Fix type overflow warning in time_converter_rtc
pasis Mar 7, 2024
fa7aadd
issue: 3813802 Fix IP_FRAG_DEBUG=1 build
pasis Mar 7, 2024
4b205fb
issue: 3813802 Include system headers in the right way
pasis Mar 7, 2024
eecf0a5
issue: 3813802 Remove unneeded cppcheck suppressions
pasis Mar 7, 2024
6803858
issue: 3770816 Use override instead virtual
alexbriskin Feb 5, 2024
a095c8b
issue: 3770816 Use nullptr instead of NULL
alexbriskin Feb 6, 2024
b66af63
issue: 3770816 Remove redundant void argument lists
alexbriskin Feb 6, 2024
be5a307
issue: 3770816 Replace empty destructor with default
alexbriskin Feb 6, 2024
e5f3ead
issue: 3788369 Rename thread_local_event_handler
pasis Feb 21, 2024
8561e11
issue: 3788369 Fix subsequent xlio_get_socket_rings_fds() calls
pasis Feb 22, 2024
e583d42
issue: 3788369 Return TX ring by xlio_get_socket_rings_fds()
pasis Feb 23, 2024
757e0a1
issue: 3788369 Don't reset TCP connection twice
pasis Feb 23, 2024
6215359
issue: 3788369 Don't hardcode TCP send buffer for TCP_NODELAY
pasis Feb 27, 2024
a750ddc
issue: 3788369 Disable MSG_ZEROCOPY tests in gtests
pasis Feb 29, 2024
7a4f2da
issue: 3788369 Remove XLIO_ZC_TX_SIZE
pasis Mar 2, 2024
9c38f68
issue: 3788369 Remove redundant max_send_sge field
pasis Mar 2, 2024
cee8ca7
issue: 3788369 Pass iovec to tcp_write_express()
pasis Mar 2, 2024
98e3ada
issue: 3788369 Don't poll RX while checking is_rst()
pasis Mar 2, 2024
a42d50d
issue: 3788369 Fix LwIP type length related to segment/pbuf size
pasis Mar 2, 2024
75221e0
issue: 3788369 Fix Nagle's algorithm for negative snd_buf
pasis Mar 2, 2024
140401b
issue: 3788369 Remove redundant snd_buf check in LwIP
pasis Mar 2, 2024
236d43f
issue: 3788369 Remove pbuf_desc::map
pasis Mar 2, 2024
8779882
issue: 3788369 Introduce XLIO socket API
pasis Feb 4, 2024
4abcf4f
issue: 3788369 Remove lwip/init.[ch]
pasis Mar 4, 2024
cdcc99c
issue: 3788369 Remove pbuf_custom wrapper structure
pasis Mar 4, 2024
fea6e82
version: 3.30.2
galnoam Mar 11, 2024
1d23a9d
issue: HPCINFRA-1321 add Dockerfile for static tests
vialogi Mar 7, 2024
6e9a005
issue: HPCINFRA-1321 Switch cppcheck to a docker
vialogi Mar 5, 2024
bda508b
issue: HPCINFRA-1321 Switch csbuild to a docker
vialogi Mar 6, 2024
accbf7b
issue: HPCINFRA-1321 Switch Tidy to a docker
vialogi Mar 6, 2024
9521056
issue: 3777348 Remove unused pipeinfo class
AlexanderGrissik Feb 12, 2024
e449276
issue: 3777348 Removing cleanable_obj from socket_fd_api
AlexanderGrissik Feb 12, 2024
4305473
issue: 3777348 Removing unused pkt_sndr_source class
AlexanderGrissik Feb 12, 2024
29c6b63
issue: 3777348 Replacing pkt_rcvr_source class with sockinfo
AlexanderGrissik Feb 12, 2024
a1cb209
issue: 3777348 Simplifying timers for TCP sockets
AlexanderGrissik Feb 13, 2024
19441e4
issue: 3777348 Moving wakeup_pipe to be a member of sockinfo
AlexanderGrissik Feb 14, 2024
1aa581a
issue: 3777348 Replacing socket_fd_api access with sockinfo
AlexanderGrissik Feb 15, 2024
fcbba6e
issue: 3777348 Merging socket_fd_api with sockinfo
AlexanderGrissik Feb 15, 2024
0168f14
issue: 3777348 Moving sockinfo inline impl outside the class
AlexanderGrissik Feb 25, 2024
d135aac
issue: 3777348 sockinfo Reordering methods
AlexanderGrissik Feb 25, 2024
eca2eba
issue: 3777348 Moving sock stats outside the socket
AlexanderGrissik Feb 26, 2024
38f8cd0
issue: 3777348 Reordering sockinfo members
AlexanderGrissik Mar 11, 2024
06a7917
issue: 3777348 Removing m_flow_tag_enabled check
AlexanderGrissik Mar 13, 2024
1949822
issue: 3777348 Remove support for SO_XLIO_FLOW_TAG
AlexanderGrissik Mar 13, 2024
28ded23
issue: 3777348 Avoid process_timestamps checking on each packet
AlexanderGrissik Mar 13, 2024
0d975c0
issue: 3777348 Remove precached sysvars from sockinfo
AlexanderGrissik Mar 13, 2024
cb0b278
issue: 3777348 Remove access to m_sock_wakeup_pipe for socketxtreme
AlexanderGrissik Mar 13, 2024
08956f8
issue: 3777348 Avoid checking m_iomux_ready_fd_array for Socketxtrme
AlexanderGrissik Mar 13, 2024
6434e58
issue: 3777348 Avoid unnecessary access to ring_allocation_tx members
AlexanderGrissik Mar 13, 2024
87a76ea
issue: 3777348 Use thread_local dummy lock
AlexanderGrissik Mar 14, 2024
1ff8f40
issue: 3777348 Avoid copying src/dst addresses for TCP flow-tag DP
AlexanderGrissik Mar 14, 2024
7fb5963
issue: 3808935 Add nullptr checks before dereferencing
alexbriskin Mar 18, 2024
af806d1
issue: 3829626 Fix new TCP timers registration for reused sockets
AlexanderGrissik Mar 19, 2024
3a98c90
issue: 3829626 Fixing statistics init for reused sockets
AlexanderGrissik Mar 19, 2024
27931ce
issue: 3788369 Replace XLIO_HUGEPAGE_LOG2 with XLIO_HUGEPAGE_SIZE
pasis Mar 12, 2024
bf77b2c
issue: 3788369 Remove xlio_key prototypes
pasis Mar 18, 2024
0dcadd3
issue: 3788369 Move public types definitions to xlio_types.h
pasis Mar 18, 2024
4df427c
issue: 3788369 Add external allocator to XLIO Socket API
pasis Mar 18, 2024
f959cff
issue: 3788369 Add XLIO Socket API to the xlio_api_t pointers
pasis Mar 18, 2024
1baf574
issue: 3777348 Adding lock_spin_simple for smaller space utilization"
AlexanderGrissik Mar 17, 2024
6ab22fa
issue: 3777348 Adding template cached_obj_pool
AlexanderGrissik Mar 17, 2024
347c362
issue: 3777348 Socketxtreme completions ring pool
AlexanderGrissik Feb 29, 2024
4de688b
issue: Fix big endian build and clean unused macros
pasis Mar 11, 2024
221ea72
version: 3.30.3
galnoam Mar 20, 2024
dcdcd64
issue: 3788369 Keep global collection of the polling groups
pasis Mar 17, 2024
dde0276
issue: 3788369 Keep sockets list per polling group
pasis Mar 17, 2024
8452e00
issue: 3788369 poll_group takes reference to ring
pasis Mar 17, 2024
617759e
issue: 3788369 Throw exception if netdev not found for a ring
pasis Mar 17, 2024
25351d9
issue: 3788369 Release native rings in the poll_group destructor
pasis Mar 21, 2024
0b3eb59
issue: 3788369 Don't free buffer unconditionally in XLIO Socket API
pasis Mar 24, 2024
69ca61f
issue: 3788369 Use reclaim_recv_buffers() in XLIO Socket API
pasis Mar 24, 2024
8ad2b35
issue: 3788369 Pass proper hugepage_size to XLIO Socket API
pasis Mar 25, 2024
7b8853d
issue: 3788369 Poll local ring before XLIO socket destruction
pasis Mar 25, 2024
64bf555
issue: 3788369 Re-read env params in xlio_init_ex()
pasis Mar 25, 2024
4771bdd
issue: 3788369 Avoid POSIX connect() in xlio_socket_connect()
pasis Mar 25, 2024
dfdbd8b
issue: 3788369 Remove get_fd() from XLIO Socket API
pasis Mar 25, 2024
86fc67a
issue: 3829626 Fix seg fault in TCP timers
iftahl Mar 27, 2024
65130bd
issue: 3818038 Remove BlueFlame doorbell method
pasis Apr 1, 2024
6f485a1
issue: 3818038 Remove likely() from the inline WQE branch
pasis Apr 2, 2024
ea38dd7
issue: 3844385 Fix new TCP timers registration lock contention
AlexanderGrissik Apr 2, 2024
8e64060
version: 3.30.4
galnoam Apr 4, 2024
9b7eec0
issue: 3788164 Fix RX poll on TX option for UTLS
pasis Apr 5, 2024
0678a45
issue: 3855390 Fixing adding TCP timer twice warning
AlexanderGrissik Apr 8, 2024
db61660
issue: 3795997 Control TSO max payload size
iftahl Apr 4, 2024
1e18c6a
version: 3.30.5
galnoam Apr 9, 2024
fdd3157
issue: Fix incorrect value for pbuf_desc::attr
pasis Jun 8, 2024
a0d9ce6
issue: Don't initialize pbuf_desc field before copy
pasis Jun 8, 2024
d69a7c6
issue: Move inline WQE part to a separate method
pasis Jun 8, 2024
18500b4
issue: Keep last wqe pointer instead of prefetching hot
pasis Jun 8, 2024
dc33e0a
issue: Split mem_buf_desc_t::ZCOPY into URGENT and CALLBACK
pasis Jun 8, 2024
8c8aabd
issue: Implement delayed doorbell
pasis Jun 8, 2024
1e5696b
issue: Skip doorbell for PBUF_DESC_EXPRESS buffers
pasis Jun 8, 2024
e6ddba0
issue: Allow doorbell batching for tcp_tx_express_inline()
pasis Jun 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions .ci/artifacts.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
#!/bin/bash -xl

if [ -d jenkins ]; then
gzip -f ./jenkins/*.tar 2>/dev/null || true
cd ./jenkins/ ;
for f in *.tar.gz ; do [ -e "$f" ] && mv "$f" "${flags}/arch-${name}-$f" ; done ;
cd ..
cd ./jenkins/${flags};
for f in *.tap ; do [ -e "$f" ] && mv "$f" "${flags}-${name}-$f" ; done ;
for f in *.xml ; do [ -e "$f" ] && mv "$f" "${flags}-${name}-$f" ; done ;
cd ../..
pushd ./jenkins/${flags};
gzip -f *.tar 2>/dev/null || true
for f in *.tar.gz ; do mv -f "$f" "arch-${name}-$f" ; done;
for f in *.{tap,xml} ; do mv -f "$f" "${flags}-${name}-$f" ; done ;
popd
fi
26 changes: 26 additions & 0 deletions .ci/dockerfiles/Dockerfile.rhel8.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM harbor.mellanox.com/hpcx/x86_64/rhel8.6/core:latest
ARG _UID=6213
ARG _GID=101
ARG _LOGIN=swx-jenkins
ARG _HOME=/var/home/$_LOGIN

RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
&& yum install -y cppcheck \
&& yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
&& yum install -y csbuild clang-tools-extra sudo curl autoconf automake make libtool \
libnl3-devel libnl3 rdma-core-devel rdma-core bc \
&& yum clean all

RUN pip3 install -U pip --no-cache-dir \
&& pip3 install compiledb --no-cache-dir

RUN echo "${_LOGIN} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
mkdir -p ${_HOME} && \
groupadd -f -g "$_GID" "$_LOGIN" && \
useradd -u "$_UID" -g "$_GID" -s /bin/bash -m -d ${_HOME} "${_LOGIN}" && \
chown -R ${_LOGIN} ${_HOME} && \
mkdir /build && chown -R ${_LOGIN} /build

USER "$_LOGIN"
ENTRYPOINT [ "/bin/bash", "--login", "--rcfile", "/etc/bashrc", "-c" ]
54 changes: 40 additions & 14 deletions .ci/matrix_job.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,20 @@ job: LIBXLIO
step_allow_single_selector: false

registry_host: harbor.mellanox.com
registry_auth: swx-storage
registry_auth: 1daaea28-800e-425f-a91f-3bd3e9136eea
registry_path: /swx-infra/media

kubernetes:
privileged: false
cloud: swx-k8s-spray
nodeSelector: 'beta.kubernetes.io/os=linux'

namespace: xlio-ci
limits: '{memory: 8Gi, cpu: 7000m}'
requests: '{memory: 8Gi, cpu: 7000m}'

credentials:
- {credentialsId: '925b0900-e273-4042-bc7c-facaefae0727', usernameVariable: 'XLIO_COV_USER', passwordVariable: 'XLIO_COV_PASSWORD'}

volumes:
- {mountPath: /hpc/local/bin, hostPath: /hpc/local/bin}
- {mountPath: /hpc/local/oss, hostPath: /hpc/local/oss}
Expand All @@ -29,9 +33,6 @@ volumes:
# User profile for release
- {mountPath: /var/home/swx-jenkins, hostPath: /labhome/swx-jenkins}

env:
build_dockers: false

runs_on_dockers:
# mofed
- {name: 'ub20.04-mofed-x86_64', url: 'harbor.mellanox.com/swx-infra/x86_64/ubuntu20.04/builder:mofed-5.2-2.2.0.0', category: 'base', arch: 'x86_64'}
Expand All @@ -40,9 +41,34 @@ runs_on_dockers:
- {name: 'rhel8.6-mofed-x86_64', url: 'harbor.mellanox.com/hpcx/x86_64/rhel8.6/builder:mofed-5.6-0.4.5.0', category: 'base', arch: 'x86_64'}
# - {name: 'oracle8.6-mofed-x86_64', url: 'harbor.mellanox.com/rivermax/base_oraclelinux8.6:mofed-5.9-0.3.4.0', category: 'base', arch: 'x86_64'}
# tool
- {name: 'toolbox', url: 'harbor.mellanox.com/hpcx/x86_64/rhel8.3/builder:inbox', category: 'tool', arch: 'x86_64'}
- {name: 'toolbox', url: 'harbor.mellanox.com/hpcx/x86_64/rhel8.6/builder:inbox', category: 'tool', arch: 'x86_64'}
- {name: 'blackduck', url: 'harbor.mellanox.com/toolbox/ngci-centos:7.9.2009.2', category: 'tool', arch: 'x86_64'}
- {name: 'header-check', url: 'harbor.mellanox.com/toolbox/header_check:0.0.14', category: 'tool', arch: 'x86_64', tag: '0.0.14'}
# static tests
- {file: '.ci/dockerfiles/Dockerfile.rhel8.6',
arch: 'x86_64',
name: 'xlio_static.cppcheck',
uri: '$arch/$name',
tag: '20240703',
build_args: '--no-cache',
category: 'tool'
}
- {file: '.ci/dockerfiles/Dockerfile.rhel8.6',
arch: 'x86_64',
name: 'xlio_static.csbuild',
uri: '$arch/$name',
tag: '20240703',
build_args: '--no-cache',
category: 'tool'
}
- {file: '.ci/dockerfiles/Dockerfile.rhel8.6',
arch: 'x86_64',
name: 'xlio_static.tidy',
uri: '$arch/$name',
tag: '20240703',
build_args: '--no-cache',
category: 'tool'
}

runs_on_agents:
- {nodeLabel: 'beni09', category: 'base'}
Expand All @@ -51,7 +77,6 @@ matrix:
axes:
flags:
- default
- dpcp
arch:
- x86_64
- aarch64
Expand Down Expand Up @@ -196,6 +221,7 @@ steps:

- name: Coverity
enable: ${do_coverity}
credentialsId: '925b0900-e273-4042-bc7c-facaefae0727'
containerSelector:
- "{name: 'toolbox', category: 'tool'}"
agentSelector:
Expand All @@ -215,9 +241,9 @@ steps:
- name: Cppcheck
enable: ${do_cppcheck}
containerSelector:
- "{name: 'skip-container'}"
- "{name: 'xlio_static.cppcheck', category: 'tool', variant: 1}"
agentSelector:
- "{nodeLabel: 'beni09', variant:2}"
- "{nodeLabel: 'skip-agent'}"
run: |
[ "x${do_cppcheck}" == "xtrue" ] && action=yes || action=no
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_cppcheck=${action} ./contrib/test_jenkins.sh
Expand All @@ -232,9 +258,9 @@ steps:
- name: Csbuild
enable: ${do_csbuild}
containerSelector:
- "{name: 'skip-container'}"
- "{name: 'xlio_static.csbuild', category: 'tool', variant: 1}"
agentSelector:
- "{nodeLabel: 'beni09', variant:2}"
- "{nodeLabel: 'skip-agent'}"
run: |
[ "x${do_csbuild}" == "xtrue" ] && action=yes || action=no
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_csbuild=${action} ./contrib/test_jenkins.sh
Expand All @@ -249,9 +275,9 @@ steps:
- name: Tidy
enable: ${do_tidy}
containerSelector:
- "{name: 'skip-container'}"
- "{name: 'xlio_static.tidy', category: 'tool', variant: 1}"
agentSelector:
- "{nodeLabel: 'beni09', variant:2}"
- "{nodeLabel: 'skip-agent'}"
run: |
[ "x${do_tidy}" == "xtrue" ] && action=yes || action=no
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_tidy=${action} ./contrib/test_jenkins.sh
Expand All @@ -268,7 +294,7 @@ steps:
containerSelector:
- "{name: 'skip-container'}"
agentSelector:
- "{nodeLabel: 'beni09', variant:2}"
- "{nodeLabel: 'beni09'}"
run: |
[ "x${do_test}" == "xtrue" ] && action=yes || action=no
env WORKSPACE=$PWD TARGET=${flags} jenkins_test_run=${action} ./contrib/test_jenkins.sh
Expand Down
4 changes: 4 additions & 0 deletions .ci/opensource_jjb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@
name: "do_coverity"
default: true
description: "Launch coverity verification."
- bool:
name: "do_coverity_snapshot"
default: false
description: "Submit Coverity Static Analysis as a snapshot (normally it should be checked only for master branch after proper defects review)"
- bool:
name: "do_test"
default: true
Expand Down
62 changes: 62 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
Version 3.30.5-1:
Date + Time 2024-0-09
=============================================================
Fixed:
- RM #3795997 OCI degradation IO operations with 8k conn, block size of 256k
- RM #3855390 http CPS test with IPv6 is reporting XLIO warning
- RM #3788164 Nginx Degradation 10MB with a low number of workers.

Version 3.30.4-1:
Date + Time 2024-04-04
=============================================================
Fixed:
- RM #3792798 Do code cleanup for new storage API
- RM #3829626 Nginx http CPS tests report error
- RM #3818038 I/O errors during FIO

Version 3.30.3-1:
Date + Time 2024-03-20
=============================================================
Added:
- RM #3788369 New Storage API
- RM #3777348 Improve sockinfo cache utilization

Fixed:
- RM #3829626 Nginx http CPS tests report XLIO ERROR
- RM #3808935 SNAP4 static build error

Version 3.30.2-1:
Date + Time 2024-03-11
=============================================================
Added:
- RM #3792777 provide new storage API headers
- RM #3792789 provide new storage API implementation, integration level
- RM #3770816 Modernize C++ source code
- RM #3813802 Fix warnings from newer cppcheck version
- RM #3795922 Remove pbuf_split_64k() and refused_data

Fixed:
- RM #3781322 higher CPU loads when loaded with Nginx responding to http requests of high payloads.
- RM #3792731 False positive Walloc-size-larger-than warning

Version 3.30.1-1:
Date + Time 2024-02-22
=============================================================
Fixed:
- RM #3786434 C++ or C23 feature in xlio_extra.h breaks compilation of some C programs

Version 3.30.0-1:
Date + Time 2024-02-12
=============================================================
Added:
- RM #3724170 Static compilation with LTO and PGO support
- RM #3668182 productize LwIP express data path
- RM #3664594 Backport TCP_KEEPALIVE from VMA
- RM #3514044 XLIO DPCP Only - Remove legacy code and legacy flows

Fixed:
- RM #3771283 Fix function pointer check
- RM #3690535 Remove leftover after Multi Packet RQ removal
- RM #3678579 Fix last_unacked and last_unsent
- RM #3704820 XLIO error when enabling UDP listen socket

Version 3.21.2-1:
Date + Time 2024-01-11
=============================================================
Expand Down
7 changes: 7 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ Example:
XLIO DETAILS: Mem Allocation type Huge pages [XLIO_MEM_ALLOC_TYPE]
XLIO DETAILS: Memory limit 2 GB [XLIO_MEMORY_LIMIT]
XLIO DETAILS: Memory limit (user allocator) 0 [XLIO_MEMORY_LIMIT_USER]
XLIO DETAILS: Hugepage size 0 [XLIO_HUGEPAGE_SIZE]
XLIO DETAILS: Num of UC ARPs 3 [XLIO_NEIGH_UC_ARP_QUATA]
XLIO DETAILS: UC ARP delay (msec) 10000 [XLIO_NEIGH_UC_ARP_DELAY_MSEC]
XLIO DETAILS: Num of neigh restart retries 1 [XLIO_NEIGH_NUM_ERR_RETRIES]
Expand Down Expand Up @@ -963,6 +964,12 @@ provided with XLIO extra API. Default value 0 makes XLIO use XLIO_MEMORY_LIMIT
value for user allocations.
Default value is 0

XLIO_HUGEPAGE_SIZE
Force specific hugepage size for XLIO internal memory allocations. Value 0 allows
to use any supported and available hugepages. The size may be specified with
suffixes such as KB, MB, GB.
Default value is 0

XLIO_NEIGH_UC_ARP_QUATA
XLIO will send UC ARP in case neigh state is NUD_STALE.
In case that neigh state is still NUD_STALE XLIO will try
Expand Down
11 changes: 0 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,6 @@ $ make -j
$ make install
```

### Building XLIO without dpcp

```sh
$ ./autogen.sh
$ ./configure --prefix=/where/to/install
$ make -j
$ make install
```

Advanced HW features are not enabled for this build type.

### Usage Examples

#### Sockperf
Expand Down
Loading