[ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
This commit adds support for DPDK v23.11. It updates the CI script and documentation and includes the following changes coming from the dpdk-latest branch: - sparse: Add some compiler intrinsics for DPDK build. https://patchwork.ozlabs.org/project/openvswitch/list/?series=371129&state=* - ci: Cache DPDK installed libraries only. - ci: Reduce optional libraries in DPDK. https://patchwork.ozlabs.org/project/openvswitch/list/?series=383367&state=* - system-dpdk: Ignore net/ice error log about QinQ offloading. https://patchwork.ozlabs.org/project/openvswitch/list/?series=385259&state=* There is a known issue with i40e VF devices where OVS main thread may block when adding such devices as dpif-netdev dpdk ports. Signed-off-by: David Marchand --- .ci/dpdk-build.sh| 28 +++- .ci/linux-build.sh | 9 .github/workflows/build-and-test.yml | 4 ++-- Documentation/faq/releases.rst | 2 +- Documentation/intro/install/dpdk.rst | 16 +++--- Documentation/topics/dpdk/phy.rst| 12 +- Documentation/topics/dpdk/vdev.rst | 2 +- Documentation/topics/dpdk/vhost-user.rst | 2 +- Documentation/topics/testing.rst | 2 +- Documentation/topics/userspace-tso.rst | 2 +- NEWS | 9 debian/control.in| 2 +- include/sparse/automake.mk | 1 + include/sparse/ia32intrin.h | 23 +++ rhel/openvswitch-fedora.spec.in | 2 +- tests/system-dpdk-macros.at | 1 + 16 files changed, 80 insertions(+), 37 deletions(-) create mode 100644 include/sparse/ia32intrin.h diff --git a/.ci/dpdk-build.sh b/.ci/dpdk-build.sh index d4c178ee0d..23f3166a54 100755 --- a/.ci/dpdk-build.sh +++ b/.ci/dpdk-build.sh @@ -5,25 +5,27 @@ set -x function build_dpdk() { -local VERSION_FILE="dpdk-dir/cached-version" local DPDK_VER=$1 local DPDK_OPTS="" +local DPDK_INSTALL_DIR="$(pwd)/dpdk-dir" +local VERSION_FILE="$DPDK_INSTALL_DIR/cached-version" -rm -rf dpdk-dir +rm -rf dpdk-src +rm -rf $DPDK_INSTALL_DIR if [ "${DPDK_VER##refs/*/}" != "${DPDK_VER}" ]; then -git clone --single-branch $DPDK_GIT dpdk-dir -b "${DPDK_VER##refs/*/}" -pushd dpdk-dir +git clone --single-branch $DPDK_GIT dpdk-src -b "${DPDK_VER##refs/*/}" +pushd dpdk-src git log -1 --oneline else wget https://fast.dpdk.org/rel/dpdk-$1.tar.xz tar xvf dpdk-$1.tar.xz > /dev/null DIR_NAME=$(tar -tf dpdk-$1.tar.xz | head -1 | cut -f1 -d"/") -mv ${DIR_NAME} dpdk-dir -pushd dpdk-dir +mv ${DIR_NAME} dpdk-src +pushd dpdk-src fi -# Switching to 'default' machine to make dpdk-dir cache usable on +# Switching to 'default' machine to make the dpdk cache usable on # different CPUs. We can't be sure that all CI machines are exactly same. DPDK_OPTS="$DPDK_OPTS -Dmachine=default" @@ -40,16 +42,22 @@ function build_dpdk() DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd" enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap" DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers" +# OVS depends on the vhost library (and its dependencies). +# net/tap depends on the gso library. +DPDK_OPTS="$DPDK_OPTS -Denable_libs=cryptodev,dmadev,gso,vhost" # Install DPDK using prefix. -DPDK_OPTS="$DPDK_OPTS --prefix=$(pwd)/build" +DPDK_OPTS="$DPDK_OPTS --prefix=$DPDK_INSTALL_DIR" meson $DPDK_OPTS build ninja -C build ninja -C build install - -echo "Installed DPDK in $(pwd)" popd + +# Remove examples sources. +rm -rf $DPDK_INSTALL_DIR/share/dpdk/examples + +echo "Installed DPDK in $DPDK_INSTALL_DIR" echo "${DPDK_VER}" > ${VERSION_FILE} } diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 90581c10b7..cf1462a0c4 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -10,8 +10,9 @@ JOBS=${JOBS:-"-j4"} function install_dpdk() { -local VERSION_FILE="dpdk-dir/cached-version" -local DPDK_LIB=$(pwd)/dpdk-dir/build/lib/x86_64-linux-gnu +local DPDK_INSTALL_DIR="$(pwd)/dpdk-dir" +local VERSION_FILE="${DPDK_INSTALL_DIR}/cached-version" +local DPDK_LIB=${DPDK_INSTALL_DIR}/lib/x86_64-linux-gnu if [ "$DPDK_SHARED" ]; then EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=shared" @@ -27,13 +28,13 @@ function install_dpdk() export PATH=$(pwd)/dpdk-dir/build/bin:$PATH if [ ! -f "${VERSION_FILE}" ]; then -echo "Could not find DPDK in $(pwd)/dpdk-dir" +echo "Could not find DPDK in $DPDK_INSTALL_DIR" return 1 fi # Update the library paths. sudo ldconfig -echo "Found cached DPDK $(cat ${VERSION_FILE}) build in $(pwd)/dpdk-dir" +echo "Found cached DPDK $(cat ${VERSION_FILE}) build in $DPDK_INSTALL_DIR" } function con
Re: [ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
Bleep bloop. Greetings David Marchand, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 80 characters long (recommended limit is 79) #189 FILE: Documentation/intro/install/dpdk.rst:63: .. _DPDK requirements: https://doc.dpdk.org/guides-23.11/linux_gsg/sys_reqs.html WARNING: Line is 94 characters long (recommended limit is 79) #233 FILE: Documentation/topics/dpdk/phy.rst:120: .. _DPDK drivers documentation: https://doc.dpdk.org/guides-23.11/linux_gsg/linux_drivers.html WARNING: Line is 94 characters long (recommended limit is 79) #259 FILE: Documentation/topics/dpdk/phy.rst:325: __ https://doc.dpdk.org/guides-23.11/prog_guide/env_abstraction_layer.html#iova-mode-detection WARNING: Line is 92 characters long (recommended limit is 79) #268 FILE: Documentation/topics/dpdk/phy.rst:357: __ https://doc.dpdk.org/guides-23.11/prog_guide/switch_representation.html#port-representors WARNING: Line is 104 characters long (recommended limit is 79) #277 FILE: Documentation/topics/dpdk/phy.rst:491: .. _bifurcated drivers: https://doc.dpdk.org/guides-23.11/linux_gsg/linux_drivers.html#bifurcated-driver WARNING: Line is 82 characters long (recommended limit is 79) #310 FILE: Documentation/topics/testing.rst:361: .. _Configure hugepages: https://doc.dpdk.org/guides-23.11/linux_gsg/sys_reqs.html Lines checked: 429, Warnings: 6, Errors: 0 Please check this out. If you feel there has been an error, please email acon...@redhat.com Thanks, 0-day Robot ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
On 15/01/2024 14:28, David Marchand wrote: > This commit adds support for DPDK v23.11. > It updates the CI script and documentation and includes the following > changes coming from the dpdk-latest branch: > > - sparse: Add some compiler intrinsics for DPDK build. > https://patchwork.ozlabs.org/project/openvswitch/list/?series=371129&state=* > > - ci: Cache DPDK installed libraries only. > - ci: Reduce optional libraries in DPDK. > https://patchwork.ozlabs.org/project/openvswitch/list/?series=383367&state=* > > - system-dpdk: Ignore net/ice error log about QinQ offloading. > https://patchwork.ozlabs.org/project/openvswitch/list/?series=385259&state=* > > There is a known issue with i40e VF devices where OVS main thread may > block when adding such devices as dpif-netdev dpdk ports. > > Signed-off-by: David Marchand > --- Acked-by: Kevin Traynor ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
On 1/15/24 17:13, Kevin Traynor wrote: > On 15/01/2024 14:28, David Marchand wrote: >> This commit adds support for DPDK v23.11. >> It updates the CI script and documentation and includes the following >> changes coming from the dpdk-latest branch: >> >> - sparse: Add some compiler intrinsics for DPDK build. >> >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=371129&state=* >> >> - ci: Cache DPDK installed libraries only. >> - ci: Reduce optional libraries in DPDK. >> >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=383367&state=* >> >> - system-dpdk: Ignore net/ice error log about QinQ offloading. >> >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=385259&state=* >> >> There is a known issue with i40e VF devices where OVS main thread may >> block when adding such devices as dpif-netdev dpdk ports. >> >> Signed-off-by: David Marchand >> --- > > Acked-by: Kevin Traynor > I removed the mentioning of the internal 'dpif-netdev' name from the NEWS file and applied the change. Michael, could you, please, update the Intel CI to use 23.11 ? Ivan, please, re-post (with a version bump) your rte_flow patch, so we can accept it. Thanks! Best regards, Ilya Maximets. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
Hi Ilya, On Tue, 16 Jan 2024, Ilya Maximets wrote: On 1/15/24 17:13, Kevin Traynor wrote: On 15/01/2024 14:28, David Marchand wrote: This commit adds support for DPDK v23.11. It updates the CI script and documentation and includes the following changes coming from the dpdk-latest branch: - sparse: Add some compiler intrinsics for DPDK build. https://patchwork.ozlabs.org/project/openvswitch/list/?series=371129&state=* - ci: Cache DPDK installed libraries only. - ci: Reduce optional libraries in DPDK. https://patchwork.ozlabs.org/project/openvswitch/list/?series=383367&state=* - system-dpdk: Ignore net/ice error log about QinQ offloading. https://patchwork.ozlabs.org/project/openvswitch/list/?series=385259&state=* There is a known issue with i40e VF devices where OVS main thread may block when adding such devices as dpif-netdev dpdk ports. Signed-off-by: David Marchand --- Acked-by: Kevin Traynor I removed the mentioning of the internal 'dpif-netdev' name from the NEWS file and applied the change. Michael, could you, please, update the Intel CI to use 23.11 ? Ivan, please, re-post (with a version bump) your rte_flow patch, so we can accept it. Done. See https://patchwork.ozlabs.org/project/openvswitch/patch/20240116004848.7957-1-ivan.ma...@arknetworks.am/ . Thank you. Thanks! Best regards, Ilya Maximets. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2] dpdk: Update to use v23.11.
> -Original Message- > From: Ilya Maximets > Sent: Tuesday, January 16, 2024 12:03 AM > To: Kevin Traynor ; Marchand, David > ; d...@openvswitch.org; Ivan Malov > ; Phelan, Michael > > Cc: i.maxim...@ovn.org; Stokes, Ian > Subject: Re: [PATCH v2] dpdk: Update to use v23.11. > > On 1/15/24 17:13, Kevin Traynor wrote: > > On 15/01/2024 14:28, David Marchand wrote: > >> This commit adds support for DPDK v23.11. > >> It updates the CI script and documentation and includes the following > >> changes coming from the dpdk-latest branch: > >> > >> - sparse: Add some compiler intrinsics for DPDK build. > >> > >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=371129&; > >> state=* > >> > >> - ci: Cache DPDK installed libraries only. > >> - ci: Reduce optional libraries in DPDK. > >> > >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=383367&; > >> state=* > >> > >> - system-dpdk: Ignore net/ice error log about QinQ offloading. > >> > >> https://patchwork.ozlabs.org/project/openvswitch/list/?series=385259&; > >> state=* > >> > >> There is a known issue with i40e VF devices where OVS main thread may > >> block when adding such devices as dpif-netdev dpdk ports. > >> > >> Signed-off-by: David Marchand > >> --- > > > > Acked-by: Kevin Traynor > > > > I removed the mentioning of the internal 'dpif-netdev' name from the NEWS > file and applied the change. > > Michael, could you, please, update the Intel CI to use 23.11 ? No problem, master is updated to test against 23.11. Thanks, Michael. > > Ivan, please, re-post (with a version bump) your rte_flow patch, so we can > accept it. > > Thanks! > Best regards, Ilya Maximets. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev