[dpdk-dev] [PATCH] kni: fix compilation on SLES15-SP3

Christian Ehrhardt christian.ehrhardt at canonical.com
Thu Jun 10 10:39:37 CEST 2021


On Tue, Jun 8, 2021 at 1:17 PM Ferruh Yigit <ferruh.yigit at intel.com> wrote:
>
> On 6/2/2021 3:33 PM, Christian Ehrhardt 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 SLES 15-SP3 kernel.
> >
> > Caused by:
> >   commit c3bf155c40e9db722feb8a08c19efd44c12d5294
> >   Author: Thomas Bogendoerfer <tbogendoerfer at suse.de>
> >   Date:   Fri Sep 11 16:08:31 2020 +0200
> >       - netdev: pass the stuck queue to the timeout handler
> >         (jsc#SLE-13536).
> >       - Refresh patches.suse/sfc-move-various-functions.patch.
> >
> > That is part of the SLES 5.3.18 kernel and therefore the
> > version we check for.
> >
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
>
> Hi Christian,
>
> There is a build error reported in CI [1] with 'SUSE15-64'.
> Can't the check 'linux version >= 5.3.18" may hit multiple SUSE versions, with
> some has the patch mentioned above backported and some did not?
> Can 'SLE_VERSION_CODE' be used to differentiate the SUSE versions?

I don't have a perfect insight in the SUSE distro variants and their
kernel versions.
> 5.3.18 in SLES15-SP3 was what broke it and I have hoped that this would apply in general.
But the error above seems we have others that are > 5.3.18 but at the
same time not have the backport.

I'll try to create a v3, but do we have anyone from Suse to usually
directly ping for feedback on this?

> [1]
> http://mails.dpdk.org/archives/test-report/2021-June/197571.html
>
> > ---
> >  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 5f65640d5ed..70e014fd1da 100644
> > --- a/kernel/linux/kni/compat.h
> > +++ b/kernel/linux/kni/compat.h
> > @@ -133,7 +133,9 @@
> >
> >  #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \
> >       (defined(RHEL_RELEASE_CODE) && \
> > -      RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE)
> > +      RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) || \
> > +     (defined(CONFIG_SUSE_KERNEL) && \
> > +      KERNEL_VERSION(5, 3, 18) <= LINUX_VERSION_CODE)
>
> Can you please add comment here to clarify for which SUSE version this check is
> added?

I outlined that in the commit message already, and since the RH8.3
check above was added without inline comment I kept the same style.
With the updated v3 it will be readable from the code as I'll try
  (SLE_VERSION_CODE >= SLE_VERSION(15, 3, 0)

I'll submit the v3 after it has passed my test builds which include
- SLE_12_SP4
- SLE_15
- openSUSE_Factory_ARM
- openSUSE_Leap_15.2
- openSUSE_Leap_42.3
- openSUSE_Tumbleweed

And of those SLE_15 was the one affected without this fix due to their
new new kernel.

> >  #define HAVE_TX_TIMEOUT_TXQUEUE
> >  #endif
> >
> >
>


-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd


More information about the dev mailing list