Debian: Upgrade OFED driver version to 5.5-1.0.3.2

This upgrades the OFED driver related packages to the ones that are
included in MLNX_OFED_SRC-5.5-1.0.3.2.tgz. The package can be
found here: https://content.mellanox.com/ofed/MLNX_OFED-5.5-1.0.3.2
/MLNX_OFED_SRC-5.5-1.0.3.2.tgz. Also adds both the mlnx-tools package
that mlnx-ofa_kernel depends on, and the firmware tool mstflint.

In addition, this also fixes the build errors for the packages mstflint
and mlnx-tools, and adds postinst, prerm files for rt build in
mlnx-ofa_kernel that are copied from the original postinst and prerm
files during the upgrade process.

The new versions are:
mlnx-ofa_kernel-5.5.tgz
rdma-core-55mlnx37.tgz
mstflint-4.16.0-1.tar.gz
mlnx-tools-5.2.0.tar.gz

Reason:
The NVIDIA Mellanox ConnectX-6 device support is required by some users.
The required Mellanox drivers must be upgraded to the latest version
(5.4+) to support the latest features of this device.

Verification:
- Build module success for kernel-std/kernel-rt.
- Build package success for rdma-core, mstflint and mlnx-tools.
- Build out std iso and boot up with qemu success.
- Build out rt iso and boot up with qemu success.

Story: 2009878
Task: 44923

Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
Change-Id: Icb6d62b483ac89220c135fa05cbe99516c4a231e
This commit is contained in:
Jiping Ma
2022-04-12 17:25:57 +08:00
parent 7497c95ed8
commit e42c4c49aa
15 changed files with 371 additions and 144 deletions

View File

@@ -7,3 +7,5 @@ kernel-modules/intel-opae-fpga
kernel-modules/mlnx-ofa_kernel
kernel-modules/qat17
userspace/mellanox/rdma-core
userspace/mellanox/mstflint
userspace/mellanox/mlnx-tools

View File

@@ -1,6 +1,6 @@
From 03f743455b29b3be08d5158ab7358dff524644aa Mon Sep 17 00:00:00 2001
From: Li Zhou <li.zhou@windriver.com>
Date: Sun, 26 Sep 2021 06:22:38 +0000
From 216846310710ed1d1e2c7d3440275dad5b2f71ef Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Wed, 23 Mar 2022 22:59:40 -0700
Subject: [PATCH] mlnx-ofa_kernel: adapt the debian folder for starlingX
Adapt the upstream debian folder for starlingX:
@@ -9,36 +9,57 @@ Adapt the upstream debian folder for starlingX:
- add the building configuration <--build-dummy-mods> and install
mlnx.conf to keep aligned with starlingX;
- adapt the kernelver to make the building work.
- add support for kernel-rt.
- add postinst, prerm files for rt build that are copied from the original
files postinst, prerm. For example, mlnx-ofed-kernel-modules-rt.prerm is
copied from mlnx-ofed-kernel-modules.prerm.
Signed-off-by: Li Zhou <li.zhou@windriver.com>
[jm: Adapted the patch for context change, and added postinst,
prerm files for rt build.]
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
debian/control | 21 ++++++---------------
debian/extra/mlnx.conf | 19 +++++++++++++++++++
debian/rules | 22 ++++++++++++++++++----
3 files changed, 43 insertions(+), 19 deletions(-)
debian/control | 23 ++++-------
debian/extra/mlnx.conf | 19 +++++++++
debian/mlnx-ofed-kernel-modules-rt.postinst | 17 ++++++++
debian/mlnx-ofed-kernel-modules-rt.prerm | 10 +++++
debian/mlnx-ofed-kernel-utils-rt.postinst | 46 +++++++++++++++++++++
debian/mlnx-ofed-kernel-utils-rt.postrm | 13 ++++++
debian/mlnx-ofed-kernel-utils-rt.prerm | 22 ++++++++++
debian/rules | 26 +++++++++---
8 files changed, 154 insertions(+), 22 deletions(-)
create mode 100644 debian/extra/mlnx.conf
create mode 100755 debian/mlnx-ofed-kernel-modules-rt.postinst
create mode 100755 debian/mlnx-ofed-kernel-modules-rt.prerm
create mode 100755 debian/mlnx-ofed-kernel-utils-rt.postinst
create mode 100755 debian/mlnx-ofed-kernel-utils-rt.postrm
create mode 100755 debian/mlnx-ofed-kernel-utils-rt.prerm
diff --git a/debian/control b/debian/control
index e9c2285..176d36f 100644
index 2ed05f9..9abdfad 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: mlnx-ofed-kernel
@@ -2,29 +2,20 @@ Source: mlnx-ofed-kernel
Section: net
Priority: optional
Maintainer: Vladimir Sokolovsky <vlad@mellanox.com>
-Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python
+Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux-headers-5.10.0-6-amd64, linux-kbuild-5.10
-Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms,
+Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, linux@KERNEL_TYPE@-headers-5.10.0-6-amd64, linux@KERNEL_TYPE@-kbuild-5.10
Standards-Version: 3.9.2
Homepage: http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
@@ -11,18 +11,9 @@ Architecture: any
Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof
-Package: mlnx-ofed-kernel-utils
+Package: mlnx-ofed-kernel-utils@KERNEL_TYPE@
Architecture: any
Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof,
mlnx-tools (>= 5.2.0),
Conflicts: mlnx-en-utils
Description: Userspace tools to restart and tune mlnx-ofed kernel modules
-Package: mlnx-ofed-kernel-dkms
-Section: kernel
-Architecture: all
-Depends: dkms, make, ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof, mlnx-ofed-kernel-utils, python3-distutils | python
-Depends: dkms, make, ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof, mlnx-ofed-kernel-utils,
-Recommends: linux-headers-arm64 | linux-headers-powerpc | linux-headers-ppc64 | linux-headers-ppc64le | linux-headers-amd64 | linux-headers-generic | linux-headers
-Provides: mlnx-rdma-rxe-dkms
-Conflicts: mlnx-rdma-rxe-dkms
@@ -47,7 +68,7 @@ index e9c2285..176d36f 100644
- This package provides integration with the DKMS infrastructure for
- automatically building out of tree kernel modules.
- .
+Package: mlnx-ofed-kernel-modules
+Package: mlnx-ofed-kernel-modules@KERNEL_TYPE@
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: ofed kernel modules
@@ -80,13 +101,151 @@ index 0000000..d6ced47
+rpcrdma
+svcrdma
+xprtrdma
diff --git a/debian/mlnx-ofed-kernel-modules-rt.postinst b/debian/mlnx-ofed-kernel-modules-rt.postinst
new file mode 100755
index 0000000..a67c0c4
--- /dev/null
+++ b/debian/mlnx-ofed-kernel-modules-rt.postinst
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+symlink="/usr/src/ofa_kernel/default"
+if [ "$1" = "configure" ]; then
+ if [ -L "$symlink" ] && \
+ ! update-alternatives --list ofa_kernel_headers >/dev/null 2>&1;
+ then
+ rm -f "$symlink"
+ fi
+ mkdir -p /usr/src/ofa_kernel
+ update-alternatives --install "$symlink" ofa_kernel_headers \
+ /usr/src/ofa_kernel/@ARCH@/@KVER@ 30
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/mlnx-ofed-kernel-modules-rt.prerm b/debian/mlnx-ofed-kernel-modules-rt.prerm
new file mode 100755
index 0000000..6f1b1df
--- /dev/null
+++ b/debian/mlnx-ofed-kernel-modules-rt.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --remove ofa_kernel_headers \
+ /usr/src/ofa_kernel/@ARCH@/@KVER@
+fi
+
+#DEBHELPER#
diff --git a/debian/mlnx-ofed-kernel-utils-rt.postinst b/debian/mlnx-ofed-kernel-utils-rt.postinst
new file mode 100755
index 0000000..4e7ade8
--- /dev/null
+++ b/debian/mlnx-ofed-kernel-utils-rt.postinst
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+dist=`lsb_release -s -i | tr '[:upper:]' '[:lower:]'`
+dist_ver=`lsb_release -s -r`
+
+if [ "X$dist" != "Xubuntu" ]; then
+ /usr/sbin/update-rc.d openibd defaults > /dev/null 2>&1
+fi
+
+if (systemctl 2>/dev/null | grep -qw "\\-\.mount" 2>/dev/null); then
+ systemctl daemon-reload >/dev/null 2>&1 || true
+ systemctl enable openibd >/dev/null 2>&1 || true
+ cat /proc/sys/kernel/random/boot_id 2>/dev/null | sed -e 's/-//g' > /var/run/openibd.bootid || true
+ test -s /var/run/openibd.bootid || echo manual > /var/run/openibd.bootid || true
+fi
+
+# set specific module parameter for Ubuntu
+echo "options ib_ipoib send_queue_size=128 recv_queue_size=128" >> /etc/modprobe.d/ib_ipoib.conf
+
+# Update limits.conf (but not for Containers)
+if [ ! -e "/.dockerenv" ] && ! (grep -q docker /proc/self/cgroup 2>/dev/null); then
+ if [ -e /etc/security/limits.conf ]; then
+ LIMITS_UPDATED=0
+ if ! (grep -qE "soft.*memlock" /etc/security/limits.conf 2>/dev/null); then
+ echo "* soft memlock unlimited" >> /etc/security/limits.conf
+ LIMITS_UPDATED=1
+ fi
+ if ! (grep -qE "hard.*memlock" /etc/security/limits.conf 2>/dev/null); then
+ echo "* hard memlock unlimited" >> /etc/security/limits.conf
+ LIMITS_UPDATED=1
+ fi
+ if [ $LIMITS_UPDATED -eq 1 ]; then
+ echo "Configured /etc/security/limits.conf"
+ fi
+ fi
+fi
+
+for old_udev in \
+ /etc/udev/rules.d/82-net-setup-link.rules \
+ /etc/udev/rules.d/83-net-setup-link.rules \
+ /etc/udev/rules.d/90-ib \
+; do
+ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
+done
+
+exit 0
diff --git a/debian/mlnx-ofed-kernel-utils-rt.postrm b/debian/mlnx-ofed-kernel-utils-rt.postrm
new file mode 100755
index 0000000..53a9430
--- /dev/null
+++ b/debian/mlnx-ofed-kernel-utils-rt.postrm
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+for old_udev in \
+ /etc/udev/rules.d/82-net-setup-link.rules \
+ /etc/udev/rules.d/83-net-setup-link.rules \
+ /etc/udev/rules.d/90-ib \
+; do
+ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
+done
+
+#DEBHELPER#
diff --git a/debian/mlnx-ofed-kernel-utils-rt.prerm b/debian/mlnx-ofed-kernel-utils-rt.prerm
new file mode 100755
index 0000000..27f697b
--- /dev/null
+++ b/debian/mlnx-ofed-kernel-utils-rt.prerm
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+dist=`lsb_release -s -i | tr '[:upper:]' '[:lower:]'`
+dist_ver=`lsb_release -s -r`
+
+if [ "X$dist" != "Xubuntu" ]; then
+ /usr/sbin/update-rc.d -f openibd remove > /dev/null 2>&1
+fi
+
+if (systemctl 2>/dev/null | grep -qw "\\-\.mount" 2>/dev/null); then
+ systemctl disable openibd >/dev/null 2>&1 || true
+fi
+
+for old_udev in \
+ /etc/udev/rules.d/82-net-setup-link.rules \
+ /etc/udev/rules.d/83-net-setup-link.rules \
+ /etc/udev/rules.d/90-ib \
+; do
+ dpkg-maintscript-helper rm_conffile $old_udev 5.4-OFED.5.4.0.4.9 -- "$@"
+done
+
+exit 0
diff --git a/debian/rules b/debian/rules
index cd95a6b..3c0727c 100755
index db99d8c..84b8d80 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,8 +15,20 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
@@ -17,8 +17,20 @@
-include /usr/share/dpkg/architecture.mk
-WITH_DKMS ?= 1
-WITH_MOD_SIGN ?= 0
@@ -95,8 +254,8 @@ index cd95a6b..3c0727c 100755
+
+#Here kernelver should be the one this package depends on,
+#while "uname -r" got the building machine's os release number.
+kheaders_name = $(shell ls /usr/src | grep linux-headers | grep amd64)
+kernelver = $(shell echo $(kheaders_name) | sed 's/linux-headers-//g')
+kheaders_name = $(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
+kernelver = $(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
+
+ifeq ($(WITH_MOD_SIGN),1)
+_keydir ?= /usr/src/kernels/$(kernelver)/
@@ -107,6 +266,18 @@ index cd95a6b..3c0727c 100755
MLXNUMC = $(shell grep ^processor /proc/cpuinfo | wc -l)
NJOBS ?= $(shell if [ $(MLXNUMC) -lt 16 ]; then echo $(MLXNUMC); else echo 16; fi)
@@ -27,9 +39,9 @@ psource:=$(pname)-source
ifeq ($(WITH_DKMS),1)
pdkms:=$(pname)-dkms
else
-pdkms:=$(pname)-modules
+pdkms:=$(pname)-modules@KERNEL_TYPE@
endif
-putils:=$(pname)-utils
+putils:=$(pname)-utils@KERNEL_TYPE@
pversion := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
prel := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-\(.\+\)/\2/p')
@@ -40,7 +52,6 @@ export INSTALL_MOD_PATH:=$(CURDIR)/debian/$(pdkms)
DIST_NAME := $(shell lsb_release -si)
DIST_RELEASE := $(DIST_NAME)/$(shell lsb_release -sc)
@@ -114,8 +285,8 @@ index cd95a6b..3c0727c 100755
-kernelver ?= $(shell uname -r)
kernelver1 = $(shell echo $(kernelver) | sed -e 's/_/-/g')
kernel_source_dir ?= "/lib/modules/$(kernelver)/build"
@@ -61,7 +72,7 @@ override_dh_auto_configure:
deb_arch = $(shell uname -m)
@@ -62,7 +73,7 @@ override_dh_auto_configure:
ifneq ($(WITH_DKMS),1)
@echo Building for $(kernelver)
find compat -type f -exec touch -t 200012201010 '{}' \; || true
@@ -123,10 +294,10 @@ index cd95a6b..3c0727c 100755
+ $(CURDIR)/configure --kernel-version=$(kernelver) --kernel-sources=$(kernel_source_dir) $(shell $(CURDIR)/ofed_scripts/dkms_ofed $(kernelver) $(kernel_source_dir) get-config) --with-njobs=$(NJOBS) --build-dummy-mods
endif
override_dh_auto_build:
@@ -190,6 +201,9 @@ endif
cd ofed_scripts/utils; $(PYTHON) ./setup.py install --install-layout=deb --root=../../debian/$(putils)
mod_dev_dir = /usr/src/ofa_kernel/$(deb_arch)/$(kernelver)
@@ -181,6 +192,9 @@ endif
install -m 0755 source/ofed_scripts/odp_stat.sh debian/$(putils)/usr/sbin
install -m 0755 ofed_scripts/mlnx_bf_assign_ct_cores.sh debian/$(putils)/usr/share/mlnx_ofed
+ dh_installdirs -p$(pdkms) /etc/modules-load.d/
+ install -m 644 debian/extra/mlnx.conf debian/$(pdkms)/etc/modules-load.d/
@@ -135,5 +306,5 @@ index cd95a6b..3c0727c 100755
--
2.17.1
2.35.1

View File

@@ -1,65 +0,0 @@
From 936b50bcc4d970a118712cdf8059f06256dd9309 Mon Sep 17 00:00:00 2001
From: Li Zhou <li.zhou@windriver.com>
Date: Fri, 10 Dec 2021 16:56:54 +0800
Subject: [PATCH] mlnx-ofa_kernel: add support for kernel-rt
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
debian/control | 6 +++---
debian/rules | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/debian/control b/debian/control
index 176d36f..9849247 100644
--- a/debian/control
+++ b/debian/control
@@ -2,16 +2,16 @@ Source: mlnx-ofed-kernel
Section: net
Priority: optional
Maintainer: Vladimir Sokolovsky <vlad@mellanox.com>
-Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux-headers-5.10.0-6-amd64, linux-kbuild-5.10
+Build-Depends: debhelper (>= 8.0.0), autotools-dev, bzip2, dkms, python3-distutils | python, linux@KERNEL_TYPE@-headers-5.10.0-6-amd64, linux@KERNEL_TYPE@-kbuild-5.10
Standards-Version: 3.9.2
Homepage: http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
-Package: mlnx-ofed-kernel-utils
+Package: mlnx-ofed-kernel-utils@KERNEL_TYPE@
Architecture: any
Depends: ${misc:Depends}, coreutils, pciutils, grep, procps, module-init-tools | kmod, lsof
Description: Userspace tools to restart and tune mlnx-ofed kernel modules
-Package: mlnx-ofed-kernel-modules
+Package: mlnx-ofed-kernel-modules@KERNEL_TYPE@
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: ofed kernel modules
diff --git a/debian/rules b/debian/rules
index 82fddfb..2af2132 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,8 +20,8 @@ WITH_MOD_SIGN ?= 0
#Here kernelver should be the one this package depends on,
#while "uname -r" got the building machine's os release number.
-kheaders_name = $(shell ls /usr/src | grep linux-headers | grep amd64)
-kernelver = $(shell echo $(kheaders_name) | sed 's/linux-headers-//g')
+kheaders_name = $(shell ls /usr/src | grep linux@KERNEL_TYPE@-headers | grep amd64)
+kernelver = $(shell echo $(kheaders_name) | sed 's/linux@KERNEL_TYPE@-headers-//g')
ifeq ($(WITH_MOD_SIGN),1)
_keydir ?= /usr/src/kernels/$(kernelver)/
@@ -39,9 +39,9 @@ psource:=$(pname)-source
ifeq ($(WITH_DKMS),1)
pdkms:=$(pname)-dkms
else
-pdkms:=$(pname)-modules
+pdkms:=$(pname)-modules@KERNEL_TYPE@
endif
-putils:=$(pname)-utils
+putils:=$(pname)-utils@KERNEL_TYPE@
pversion := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-.\+/\1/p')
prel := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\([^-]\+\)-\(.\+\)/\2/p')
--
2.17.1

View File

@@ -1,2 +1 @@
0001-mlnx-ofa_kernel-adapt-the-debian-folder-for-starling.patch
0001-mlnx-ofa_kernel-add-support-for-kernel-rt.patch

View File

@@ -1,11 +1,12 @@
---
debver: 5.3
debver: 5.5
debname: mlnx-ofed-kernel
dl_path:
name: mlnx-ofa-kernel-5.3.tgz
name: mlnx-ofa-kernel-5.5.tgz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
5.3-1.0.0.1/SRPMS/mlnx-ofa_kernel-5.3.tgz"
md5sum: 5bb7e5b85145a3315273c860567cbc1d
5.5-1.0.3.2/SRPMS/mlnx-ofa_kernel-5.5.tgz"
md5sum: 5b9b3f9aa7c7207291538a1568c793ef
sha256sum: 50674ca9cb2905a0dd2077c782a0fcfe31d64f9e1e1ebdb5e0353a23dd9c36db
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@@ -1,40 +0,0 @@
From 0f47e538b4bd929b2f5917030e0d58ca2ef9c4c3 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Mon, 23 Aug 2021 20:11:33 -0700
Subject: [PATCH] implicit declaration of function '__is_constexpr'
We get a build error now when we use kernel version 5.10.57
include/linux/minmax.h:23:4: error: implicit declaration of function '__is_constexpr';
Because commit 1354ec840899e87259286cc844d4c161ea86fae7 in the yocto kernel changed
the definition of GENMASK_INPUT_CHECK from __builtin_constant_p to __is_constexpr.
so we need add __is_constexpr definition in const.h
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
[lz: Adapt the file path for patching failure.]
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
include/linux/const.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/linux/const.h b/include/linux/const.h
index afe88a0..92daf28 100644
--- a/include/linux/const.h
+++ b/include/linux/const.h
@@ -7,6 +7,14 @@
#include_next <linux/const.h>
+/*
+ * This returns a constant expression while determining if an argument is
+ * a constant expression, most importantly without evaluating the argument.
+ * Glory to Martin Uecker <Martin.Uecker@med.uni-goettingen.de>
+ */
+#define __is_constexpr(x) \
+ (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
+
#ifndef UL
#define UL(x) (_UL(x))
#endif
--
2.17.1

View File

@@ -0,0 +1,59 @@
From 73bb521a587baf042d5e79aa2ff4b5e973c64a7b Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Tue, 1 Mar 2022 18:42:47 -0800
Subject: [PATCH] mlx5: pci_irq: Use irq_update_affinity_hint
The StarlingX kernel was patched to deprecate irq_set_affinity_hint
by cherry-picking the patches at:
https://lore.kernel.org/netdev/20210903152430.244937-1-nitesh@redhat.com/t/#u
These patches have been mainlined as of this writing, with the following
merge commit by Linus Torvalds:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=147cc5838c0f5c76e908b816e924ca378e0d4735
This commit modifies the mlx5 driver so that it uses the
irq_update_affinity_hint function instead of the irq_set_affinity_hint
function. The former only sets the hint, whereas the latter sets both
the hint and the IRQ affinity.
Please note that this is a divergence from the aforementioned patch
series, which make mlx5 use irq_set_affinity_and_hint, which currently
behaves in the same way as irq_set_affinity_hint. The intent with
diverging from mainline is to allow the user-specified IRQ affinity (via
the irqaffinity= command line argument) take effect for the IRQs
set up by the mlx5 device driver.
The mlx5 commit in mainline is accessible at:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7451e9ea8e2055af39afe7ff39a5f68d8ec6b98d
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
index 06ea6fc..dd97f89 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
@@ -175,7 +175,7 @@ static void irq_release(struct kref *kref)
* before calling it. This is why there is asymmetry with set_rmap
* which should be called after alloc_irq but before request_irq.
*/
- irq_set_affinity_hint(irq->irqn, NULL);
+ irq_update_affinity_hint(irq->irqn, NULL);
free_cpumask_var(irq->mask);
free_irq(irq->irqn, &irq->nh);
kfree(irq);
@@ -276,7 +276,7 @@ static struct mlx5_irq *irq_request(struct mlx5_irq_pool *pool, int i,
goto err_xa;
}
affinity_copy(irq, affinity, mlx5_irq_table_get(dev));
- irq_set_affinity_hint(irq->irqn, irq->mask);
+ irq_update_affinity_hint(irq->irqn, irq->mask);
cpu_get(mlx5_irq_table_get(dev), irq->mask);
return irq;
err_xa:
--
2.31.1

View File

@@ -1,2 +1 @@
0001-implicit-declaration-of-function-__is_constexpr.patch
0002-mlx5-pci_irq-Use-irq_update_affinity_hint.patch
0001-mlx5-pci_irq-Use-irq_update_affinity_hint.patch

View File

@@ -0,0 +1,40 @@
From c41924f7bf26cef66ab1038e5723c56a3a070058 Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Mon, 11 Apr 2022 02:07:30 -0700
Subject: [PATCH] mlnx-tools: Fix the build error.
This changes 5.2.0 from 5.2.0-OFED.5.5.1.0.3 in changelog to
fix the following build error.
debrepack - ERROR - dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
debrepack - ERROR - dpkg-architecture: warning: cannot determine CC system type, falling back to default (native compilation)
debrepack - ERROR - dpkg-source --before-build .
debrepack - ERROR - dpkg-source --before-build .
debrepack - ERROR - dpkg-buildpackage: warning: building a source package without cleaning up as you asked; it might contain undesired files
debrepack - ERROR - dpkg-buildpackage: warning: building a source package without cleaning up as you asked; it might contain undesired files
debrepack - ERROR - dpkg-source -b .
debrepack - ERROR - dpkg-source -b .
debrepack - ERROR - dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision
debrepack - ERROR - dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision
debrepack - ERROR - dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 25
debrepack - ERROR - dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 25
debrepack - ERROR - [ Failed - "cd /localdisk/loadbuild/jma1/stx/std/mlnx-tools/mlnx-tools-5.2.0; dpkg-buildpackage -nc -us -uc -S -d" ]
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
debian/changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index c49bb20..c9b4370 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mlnx-tools (5.2.0-OFED.5.5.1.0.3) UNRELEASED; urgency=medium
+mlnx-tools (5.2.0) UNRELEASED; urgency=medium
* Switched to a MLNX_OFED branch
* Native package
--
2.35.1

View File

@@ -0,0 +1 @@
0001-mlnx-tools-Fix-the-build-error.patch

View File

@@ -0,0 +1,12 @@
---
debver: 5.2.0
debname: mlnx-tools
dl_path:
name: mlnx-tools-5.2.0.tar.gz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
5.5-1.0.3.2/SRPMS/mlnx-tools-5.2.0.tar.gz"
md5sum: 57523d5944fb936dad4c76311629b04a
sha256sum: db0246a22ffe0e75f64dfb41736ea4a21931f4f67fb971f519834eeab9176932
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@@ -0,0 +1,34 @@
From 6a0f5be8d7e5fa84b37a6dacce4a412f51681e6c Mon Sep 17 00:00:00 2001
From: Jiping Ma <jiping.ma2@windriver.com>
Date: Thu, 7 Apr 2022 02:31:29 -0700
Subject: [PATCH] mstflint: Fix the build errors.
This adds the dependence libibmad-devel, zlib1g-dev, libssl-dev
to fix the following errors.
"configure: error: cannot find infiniband/mad.h . Use
--disable-inband to remove this dependaency
conftest.c:13:10: fatal error: ac_nonexistent.h:
No such file or directory
...cannot find openssl/sha.h"
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
---
debian/control | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/control b/debian/control
index 65bf6c3..0075a1d 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: mstflint
Section: net
Priority: extra
Maintainer: Gal Sivan <gsivan@unknown>
-Build-Depends: debhelper (>= 8.0.0), autotools-dev
+Build-Depends: debhelper (>= 8.0.0), autotools-dev, libibmad-devel, zlib1g-dev, libssl-dev
Standards-Version: 3.9.2
Homepage: http://www.mellanox.com
#Vcs-Git: git://git.debian.org/collab-maint/mstflint.git
--
2.35.1

View File

@@ -0,0 +1 @@
0001-mstflint-Fix-the-build-errors.patch

View File

@@ -0,0 +1,12 @@
---
debver: 4.16.0-1
debname: mstflint
dl_path:
name: mstflint-4.16.0-1.tar.gz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
5.5-1.0.3.2/SRPMS/mstflint-4.16.0-1.tar.gz"
md5sum: 951e5feb94a1e5ac3e121d1d3f66fee0
sha256sum: d24ea5b2265ad6260e142add4b87ac869a2e4414c66a2922017b4ad11f4f1fed
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@@ -1,11 +1,12 @@
---
debver: 52mlnx1
debver: 55mlnx37
debname: rdma-core
dl_path:
name: rdma-core-52mlnx1.tgz
name: rdma-core-55mlnx37.tgz
url: "https://linux.mellanox.com/public/repo/mlnx_ofed/\
5.3-1.0.0.1/SRPMS/rdma-core-52mlnx1.tgz"
md5sum: 072058f44d6cbfc0ce2d9eae369b6fe6
5.5-1.0.3.2/SRPMS/rdma-core-55mlnx37.tgz"
md5sum: 3ef7bc6e2e44029836c8731571cb219b
sha256sum: 865726dce11113b89d4563e5bc988dccf507d8f687ee6550dd2b0cede116465c
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true