Kernel 5.8

AmigaOne X5000 platform specific issues related to Linux only.
User avatar
Skateman
Posts: 961
Joined: Thu Aug 10, 2017 9:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA15 is running fine with the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 143106.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon RX 570 / Radeon X1950 / M-Audio 5.1 -> AmigaOS / Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world
Vampire 4SA - RPi4 Running AmiKitXE Full
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post 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
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post 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
User avatar
Skateman
Posts: 961
Joined: Thu Aug 10, 2017 9:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Great,

Looking forward to the patched kernel.
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon RX 570 / Radeon X1950 / M-Audio 5.1 -> AmigaOS / Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world
Vampire 4SA - RPi4 Running AmiKitXE Full
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post by xeno74 »

Skateman wrote: Sat Jun 20, 2020 3:09 pm Great,

Looking forward to the patched kernel.
Soon :-) .... In 15 minutes ....
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post 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
User avatar
Skateman
Posts: 961
Joined: Thu Aug 10, 2017 9:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA16 working fine with the onboard Ethernet adapter!

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 155641.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon RX 570 / Radeon X1950 / M-Audio 5.1 -> AmigaOS / Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world
Vampire 4SA - RPi4 Running AmiKitXE Full
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post 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
User avatar
Skateman
Posts: 961
Joined: Thu Aug 10, 2017 9:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA17 BREAKS the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 191440.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon RX 570 / Radeon X1950 / M-Audio 5.1 -> AmigaOS / Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world
Vampire 4SA - RPi4 Running AmiKitXE Full
User avatar
xeno74
Posts: 10792
Joined: Fri Mar 23, 2012 7:58 am
Contact:

Re: Kernel 5.8

Post 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
Post Reply