Page 8 of 16

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 2:33 pm
by Skateman
Kernel DPAA15 is running fine with the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 143106.png

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 2:47 pm
by xeno74
Skateman wrote: Sat Jun 20, 2020 2:33 pm Kernel DPAA15 is running fine with the onboard Ethernet adapter
OK, "git bisect good". Result: lib: fix bitmap_parse() on 64-bit big endian archs is the first bad commit.

Code: Select all

81c4f4d924d5d009b5ed785a3e22b18d0f7b831f is the first bad commit
commit 81c4f4d924d5d009b5ed785a3e22b18d0f7b831f
Author: Alexander Gordeev <agordeev@linux.ibm.com>
Date:   Wed Jun 10 18:41:41 2020 -0700

    lib: fix bitmap_parse() on 64-bit big endian archs
    
    Commit 2d6261583be0 ("lib: rework bitmap_parse()") does not take into
    account order of halfwords on 64-bit big endian architectures.  As
    result (at least) Receive Packet Steering, IRQ affinity masks and
    runtime kernel test "test_bitmap" get broken on s390.
    
    [andriy.shevchenko@linux.intel.com: convert infinite while loop to a for loop]
      Link: http://lkml.kernel.org/r/20200609140535.87160-1-andriy.shevchenko@linux.intel.com
    
    Fixes: 2d6261583be0 ("lib: rework bitmap_parse()")
    Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: Yury Norov <yury.norov@gmail.com>
    Cc: Amritha Nambiar <amritha.nambiar@intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Miklos Szeredi <mszeredi@redhat.com>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Cc: "Tobin C . Harding" <tobin@kernel.org>
    Cc: Vineet Gupta <vineet.gupta1@synopsys.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Willem de Bruijn <willemb@google.com>
    Cc: <stable@vger.kernel.org>
    Link: http://lkml.kernel.org/r/1591634471-17647-1-git-send-email-agordeev@linux.ibm.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

:040000 040000 ebf8a78b34b93db2250307596e4ac2cd19aef085 57e9b66c86ac6e164fd4531eefba76d06e3644e3 M	lib

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 3:08 pm
by xeno74
Skateman,

I downloaded the latest Git kernel today. After that I was able to revert the first bad commit.

Code: Select all

git revert 81c4f4d924d5d009b5ed785a3e22b18d0f7b831f
Output:

Code: Select all

[master 07b4d4ad9701] Revert "lib: fix bitmap_parse() on 64-bit big endian archs"
 1 file changed, 2 insertions(+), 7 deletions(-)
I created a patch with the command "diff -rupN a b > dpaa-v1.patch".

dpaa-v1.patch:

Code: Select all

diff -rupN a/lib/bitmap.c b/lib/bitmap.c
--- a/lib/bitmap.c      2020-06-20 15:04:45.391807914 +0200
+++ b/lib/bitmap.c      2020-06-20 15:01:48.792908877 +0200
@@ -741,9 +741,8 @@ int bitmap_parse(const char *start, unsi
        int chunks = BITS_TO_U32(nmaskbits);
        u32 *bitmap = (u32 *)maskp;
        int unset_bit;
-       int chunk;

-       for (chunk = 0; ; chunk++) {
+       while (1) {
                end = bitmap_find_region_reverse(start, end);
                if (start > end)
                        break;
@@ -751,11 +750,7 @@ int bitmap_parse(const char *start, unsi
                if (!chunks--)
                        return -EOVERFLOW;

-#if defined(CONFIG_64BIT) && defined(__BIG_ENDIAN)
-               end = bitmap_get_x32_reverse(start, end, &bitmap[chunk ^ 1]);
-#else
-               end = bitmap_get_x32_reverse(start, end, &bitmap[chunk]);
-#endif
+               end = bitmap_get_x32_reverse(start, end, bitmap++);
                if (IS_ERR(end))
                        return PTR_ERR(end);
        }
I will compile a patched kernel.

Cheers,
Christian

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 3:09 pm
by Skateman
Great,

Looking forward to the patched kernel.

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 3:13 pm
by xeno74
Skateman wrote: Sat Jun 20, 2020 3:09 pm Great,

Looking forward to the patched kernel.
Soon :-) .... In 15 minutes ....

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 3:50 pm
by xeno74
Skateman,

Code: Select all

patch -p0 < dpaa-v1.patch
Output:

Code: Select all

patching file a/lib/bitmap.c
I was able to compile it. Please test it.

Download: uImage-dpaa16

Thanks,
Christian

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 4:00 pm
by Skateman
Kernel DPAA16 working fine with the onboard Ethernet adapter!

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 155641.png

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 4:40 pm
by xeno74
Skateman wrote: Sat Jun 20, 2020 4:00 pm Kernel DPAA16 working fine with the onboard Ethernet adapter!
Great! We have found the bad commit and we have a patch!

Could you please also test the latest Git kernel without this patch? Maybe the kernel developers have fixed this issue in the meantime. We have to be sure that the issue still exists before we reporting it to the Linuxppc-dev mailing list.

Download: uImage-dpaa17

Re: Kernel 5.8

Posted: Sat Jun 20, 2020 7:18 pm
by Skateman
Kernel DPAA17 BREAKS the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 191440.png

Re: Kernel 5.8

Posted: Sun Jun 21, 2020 9:44 am
by xeno74
Skateman wrote: Sat Jun 20, 2020 7:18 pm Kernel DPAA17 BREAKS the onboard Ethernet adapter
Hi Skateman,

Thanks a lot for testing! I reported our results to the Linuxppc-dev mailing list today.

Link: FSL P5020/P5040: DPAA Ethernet issue with the latest Git kernel

Cheers,
Christian