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 <[email protected]>
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.
    
    [[email protected]: convert infinite while loop to a for loop]
      Link: http://lkml.kernel.org/r/[email protected]
    
    Fixes: 2d6261583be0 ("lib: rework bitmap_parse()")
    Signed-off-by: Alexander Gordeev <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Cc: Yury Norov <[email protected]>
    Cc: Amritha Nambiar <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Chris Wilson <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Matthew Wilcox <[email protected]>
    Cc: Miklos Szeredi <[email protected]>
    Cc: Rasmus Villemoes <[email protected]>
    Cc: Steffen Klassert <[email protected]>
    Cc: "Tobin C . Harding" <[email protected]>
    Cc: Vineet Gupta <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: Willem de Bruijn <[email protected]>
    Cc: <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Linus Torvalds <[email protected]>

: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