Message ID | 20201126142344.25018-1-olivier.matz@6wind.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | kni: fix compilation on RHEL 8.3 | expand |
Context | Check | Description |
---|---|---|
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/travis-robot | success | Travis build: passed |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/checkpatch | success | coding style OK |
On Thu, Nov 26, 2020 at 3:24 PM Olivier Matz <olivier.matz@6wind.com> wrote: > > Like what was done for mainline kernel in commit 38ad54f3bc76 ("kni: fix > build with Linux 5.6"), a new parameter 'txqueue' has to be added to > 'ndo_tx_timeout' ndo on RHEL 8.3 kernel. > > Cc: stable@dpdk.org > > Tested-by: Christophe Grosse <christophe.grosse@6wind.com> > Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reproduced issue on a RHEL 8.3 with kernel 4.18.0-240.el8.x86_64. FAILED: kernel/linux/kni/rte_kni.ko make -j4 -C /lib/modules/4.18.0-240.el8.x86_64/build M=/root/dpdk/build/kernel/linux/kni src=/root/dpdk/kernel/linux/kni 'MODULE_CFLAGS=-include /root/dpdk/config/rte_config.h -I/root/dpdk/lib/librte_eal/include -I/root/dpdk/lib/librte_kni -I/root/dpdk/build -I/root/dpdk/kernel/linux/kni' modules make: Entering directory '/usr/src/kernels/4.18.0-240.el8.x86_64' CC [M] /root/dpdk/build/kernel/linux/kni/kni_net.o CC [M] /root/dpdk/build/kernel/linux/kni/kni_misc.o /root/dpdk/kernel/linux/kni/kni_net.c:791:20: error: initialization of ‘void (*)(struct net_device *, unsigned int)’ from incompatible pointer type ‘void (*)(struct net_device *)’ [-Werror=incompatible-pointer-types] .ndo_tx_timeout = kni_net_tx_timeout, ^~~~~~~~~~~~~~~~~~ /root/dpdk/kernel/linux/kni/kni_net.c:791:20: note: (near initialization for ‘kni_net_netdev_ops.<anonymous>.ndo_tx_timeout’) cc1: some warnings being treated as errors make[1]: *** [scripts/Makefile.build:315: /root/dpdk/build/kernel/linux/kni/kni_net.o] Error 1 make: *** [Makefile:1544: _module_/root/dpdk/build/kernel/linux/kni] Error 2 make: Leaving directory '/usr/src/kernels/4.18.0-240.el8.x86_64' ninja: build stopped: subcommand failed. > --- > kernel/linux/kni/compat.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h > index d515b27669..5f65640d5e 100644 > --- a/kernel/linux/kni/compat.h > +++ b/kernel/linux/kni/compat.h > @@ -131,7 +131,9 @@ > #define HAVE_IOVA_TO_KVA_MAPPING_SUPPORT > #endif > > -#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE > +#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \ > + (defined(RHEL_RELEASE_CODE) && \ > + RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) > #define HAVE_TX_TIMEOUT_TXQUEUE > #endif > > -- > 2.25.1 > Tested-by: David Marchand <david.marchand@redhat.com> Thanks.
On 11/26/2020 6:04 PM, David Marchand wrote: > On Thu, Nov 26, 2020 at 3:24 PM Olivier Matz <olivier.matz@6wind.com> wrote: >> >> Like what was done for mainline kernel in commit 38ad54f3bc76 ("kni: fix >> build with Linux 5.6"), a new parameter 'txqueue' has to be added to >> 'ndo_tx_timeout' ndo on RHEL 8.3 kernel. >> >> Cc: stable@dpdk.org >> >> Tested-by: Christophe Grosse <christophe.grosse@6wind.com> >> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> > > Reproduced issue on a RHEL 8.3 with kernel 4.18.0-240.el8.x86_64. > FAILED: kernel/linux/kni/rte_kni.ko > make -j4 -C /lib/modules/4.18.0-240.el8.x86_64/build > M=/root/dpdk/build/kernel/linux/kni src=/root/dpdk/kernel/linux/kni > 'MODULE_CFLAGS=-include /root/dpdk/config/rte_config.h > -I/root/dpdk/lib/librte_eal/include -I/root/dpdk/lib/librte_kni > -I/root/dpdk/build -I/root/dpdk/kernel/linux/kni' modules > make: Entering directory '/usr/src/kernels/4.18.0-240.el8.x86_64' > CC [M] /root/dpdk/build/kernel/linux/kni/kni_net.o > CC [M] /root/dpdk/build/kernel/linux/kni/kni_misc.o > /root/dpdk/kernel/linux/kni/kni_net.c:791:20: error: initialization of > ‘void (*)(struct net_device *, unsigned int)’ from incompatible > pointer type ‘void (*)(struct net_device *)’ > [-Werror=incompatible-pointer-types] > .ndo_tx_timeout = kni_net_tx_timeout, > ^~~~~~~~~~~~~~~~~~ > /root/dpdk/kernel/linux/kni/kni_net.c:791:20: note: (near > initialization for ‘kni_net_netdev_ops.<anonymous>.ndo_tx_timeout’) > cc1: some warnings being treated as errors > make[1]: *** [scripts/Makefile.build:315: > /root/dpdk/build/kernel/linux/kni/kni_net.o] Error 1 > make: *** [Makefile:1544: _module_/root/dpdk/build/kernel/linux/kni] Error 2 > make: Leaving directory '/usr/src/kernels/4.18.0-240.el8.x86_64' > ninja: build stopped: subcommand failed. > > > >> --- >> kernel/linux/kni/compat.h | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h >> index d515b27669..5f65640d5e 100644 >> --- a/kernel/linux/kni/compat.h >> +++ b/kernel/linux/kni/compat.h >> @@ -131,7 +131,9 @@ >> #define HAVE_IOVA_TO_KVA_MAPPING_SUPPORT >> #endif >> >> -#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE >> +#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \ >> + (defined(RHEL_RELEASE_CODE) && \ >> + RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) >> #define HAVE_TX_TIMEOUT_TXQUEUE >> #endif >> >> -- >> 2.25.1 >> > > Tested-by: David Marchand <david.marchand@redhat.com> > Thanks. > Thanks David for testing. Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
26/11/2020 19:08, Ferruh Yigit: > On 11/26/2020 6:04 PM, David Marchand wrote: > > On Thu, Nov 26, 2020 at 3:24 PM Olivier Matz <olivier.matz@6wind.com> wrote: > >> > >> Like what was done for mainline kernel in commit 38ad54f3bc76 ("kni: fix > >> build with Linux 5.6"), a new parameter 'txqueue' has to be added to > >> 'ndo_tx_timeout' ndo on RHEL 8.3 kernel. > >> > >> Cc: stable@dpdk.org > >> > >> Tested-by: Christophe Grosse <christophe.grosse@6wind.com> > >> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> > > > > Tested-by: David Marchand <david.marchand@redhat.com> > > Thanks. > > Thanks David for testing. > > Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied, thanks
diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h index d515b27669..5f65640d5e 100644 --- a/kernel/linux/kni/compat.h +++ b/kernel/linux/kni/compat.h @@ -131,7 +131,9 @@ #define HAVE_IOVA_TO_KVA_MAPPING_SUPPORT #endif -#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE +#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \ + (defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) #define HAVE_TX_TIMEOUT_TXQUEUE #endif