Page 29 of 124

Re: New kernels

Posted: Wed Oct 12, 2022 11:41 am
by xeno74
xeno74 wrote: Tue Oct 11, 2022 3:16 pm Hi All,

I successfully compiled the alpha3 with the first PowerPC updates yesterday.

Unfortunately this kernel is really dangerous. Many things for example Network Manager and LightDM don't work anymore and produced several gigabyte of config files till the partition has been filled.

I deleted some files like the resolv.conf that had a size over 200 GB!

Unfortunately, MintPPC was still damaged. For example LightDM doesn't work anymore and the MATE desktop doesn't display any icons anymore because Caja wasn't able to reserve memory anymore.

In this case, bisecting isn't an option and I have to wait some weeks. It is really difficult to find the issue if the userland will damaged again and again.

Cheers,
Christian
We have the first answer. :-)
Andrew wrote: Could you try with
https://patchwork.ozlabs.org/project/li ... gmail.com/
to see if your issues are related to that?

Andrew

--
Andrew Donnellan OzLabs, ADL Canberra
[email protected] IBM Australia Limited

Re: New kernels

Posted: Fri Oct 14, 2022 7:15 am
by xeno74
Christophe wrote: As far as I understand, it was already correct for 32-bit userlands with 64 bit kernels, aka compat.

The patch applies the same approach for 32 bit kernels, as explained in the commit message : "Fix this by having 32-bit kernels share those syscall definitions with compat."

Christophe
OK, now, I know, that I don’t need to test it. After the boot of the latest git kernel, my system was extremely damaged. Some config files have a size of several gigabytes for example the resolv.conf. I tried to repair this Debian system but without any success.
I copied with dd and Netcat via network another rootfs from another computer to the damaged partition.
I don’t have the time to do it always again and again after a bad bisect result.
I will wait some weeks and try it again.

Cheers,
Christian

Re: New kernels

Posted: Fri Oct 14, 2022 4:47 pm
by xeno74

Re: New kernels

Posted: Wed Oct 26, 2022 6:29 am
by xeno74
Hi All,

Here is the stable longterm kernel 5.10.149 for the X1000 and X5000.

It's suitable for old Linux distributions which don't work with the latest kernels for example Ubuntu 10.04. It's also suitable if you have some issues with the latest kernels.

New:
Download: linux-image-5.10.149-X1000_X5000.tar.gz

Image

@Roland
Could you please test this kernel? I want to make sure that it works for you.

@All
Of course you can also test it. I know that Roland needs this kernel for his X5000.

Cheers,
Christian

Re: New kernels

Posted: Wed Oct 26, 2022 11:09 am
by Roland
xeno74 wrote: Wed Oct 26, 2022 6:29 am Here is the stable longterm kernel 5.10.149 for the X1000 and X5000.

@Roland
Could you please test this kernel? I want to make sure that it works for you.
Works ok here... Thank you :-).

Re: New kernels

Posted: Thu Oct 27, 2022 5:41 am
by xeno74
Roland wrote: Wed Oct 26, 2022 11:09 am Works ok here... Thank you :-).
Great! Thanks a lot for testing! :-)

Re: New kernels

Posted: Sat Oct 29, 2022 1:26 pm
by xeno74
Hi All,

I compiled the RC2 of kernel 6.1 today.

After the first boot of the RC2, the file system was immediately to 100% used.

Code: Select all

$ ssh [email protected]
[email protected]'s password: 
Last login: Sat Oct 29 11:09:50 2022 from 192.168.178.94
[amigaone@void-ppc ~]$ uname -a
Linux void-ppc.a-eon.tld 6.1.0-rc2_A-EON_X5000 #1 SMP Sat Oct 29 07:57:15 CEST 2022 ppc64 GNU/Linux
[amigaone@void-ppc ~]$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4      118G  118G     0 100% /
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
run            tmpfs     3.9G  1.3M  3.9G   1% /run
shm            tmpfs     3.9G     0  3.9G   0% /dev/shm
cgroup         tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs          tmpfs     3.9G  4.0K  3.9G   1% /tmp
tmpfs          tmpfs     793M     0  793M   0% /run/user/1000
This is the same issue we have seen with the git kernel 3 weeks ago.
xeno74 wrote: Tue Oct 11, 2022 3:16 pm Hi All,

I successfully compiled the alpha3 with the first PowerPC updates yesterday.

Unfortunately this kernel is really dangerous. Many things for example Network Manager and LightDM don't work anymore and produced several gigabyte of config files till the partition has been filled.

I deleted some files like the resolv.conf that had a size over 200 GB!

Unfortunately, MintPPC was still damaged. For example LightDM doesn't work anymore and the MATE desktop doesn't display any icons anymore because Caja wasn't able to reserve memory anymore.

In this case, bisecting isn't an option and I have to wait some weeks. It is really difficult to find the issue if the userland will damaged again and again.

Cheers,
Christian
The X1000 and the X5000 are both affected.

I reported the test results to the kernel developers today.

Link: Issues with the first PowerPC updates for the kernel 6.1

-- Christian

Re: New kernels

Posted: Sat Oct 29, 2022 2:50 pm
by xeno74
They modified the CFLAGS in the Makefile from power5 and power4 to only power4. I reverted it.

Code: Select all

a/arch/powerpc/Makefile
+CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
But it doesn't solve this issue.

Re: New kernels

Posted: Sun Oct 30, 2022 2:34 pm
by xeno74
Hi All,

I bisected today because Void is recovering after a reboot. Memory space is released again.

About bisecting:
Git bisect is like a little wizard that walks you through recent commits, asks you if they are good or bad, and narrows down the broken commit.
Git bisect starts with the midpoint commit. The midpoint commit is between the initial good commit and the initial bad commit.
If the midpoint commit was good, you know the commit that introduced the change is between your midpoint and the initial bad commit.
If the midpoint commit was bad, you know the commit that introduced the change is between your midpoint and the initial good commit.
After that git bisect selects a new midpoint in the area where the commit was bad. And this is repeated over and over again till the bad commit has been found.
  1. Code: Select all

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
    or

    Code: Select all

    git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
  2. Code: Select all

    git bisect start
  3. Code: Select all

    git bisect good 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
    (Good: Linux 6.0)
  4. Code: Select all

    git bisect bad 9abf2313adc1ca1b6180c508c25f22f9395cc780
    (Bad: Linux 6.1-rc1
    Output:

    Code: Select all

    Bisecting: 6125 revisions left to test after this (roughly 13 steps)
    [18fd049731e67651009f316195da9281b756f2cf] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
  5. git bisect good
    Output:

    Code: Select all

    Bisecting: 3062 revisions left to test after this (roughly 12 steps)
    [ab0c23b535f3f9d8345d8ad4c18c0a8594459d55] MAINTAINERS: add RISC-V's patchwork
  6. git bisect good
    Output:

    Code: Select all

    Bisecting: 1527 revisions left to test after this (roughly 11 steps)
    [27bc50fc90647bbf7b734c3fc306a5e61350da53] Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
  7. git bisect bad
    Output:

    Code: Select all

    Bisecting: 766 revisions left to test after this (roughly 10 steps)
    [ada3bfb6492a6d0d3eca50f3b61315fe032efc72] Merge tag 'tpmdd-next-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
  8. git bisect bad
    Output:

    Code: Select all

    Bisecting: 379 revisions left to test after this (roughly 9 steps)
    [7f6dcffb44ad246e3211c6aeaba8a625e2766836] Merge tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
  9. git bisect bad
    Output:

    Code: Select all

    Bisecting: 193 revisions left to test after this (roughly 8 steps)
    [9511b5a033e99070ae1f54cd3c0aa3d10eae7c26] Merge branch 'topic/ppc-kvm' into next
  10. git bisect bad
    Output:

    Code: Select all

    Bisecting: 96 revisions left to test after this (roughly 7 steps)
    [b997b2f57cae396448bb62c428efa4b112dd90ed] powerpc/mm: Reduce redundancy in pgtable.h
  11. git bisect good
    Output:

    Code: Select all

    Bisecting: 48 revisions left to test after this (roughly 6 steps)
    [b19448fe846baad689ff51a991ebfc74b4b5e0a8] powerpc: Add support for early debugging via Serial 16550 console
  12. git bisect bad
    Output:

    Code: Select all

    Bisecting: 23 revisions left to test after this (roughly 5 steps)
    [6556fd1a1e9fcd180348c4368d2387bdc6a17613] powerpc: Cleanup idle for e500
  13. git bisect good
    Output:

    Code: Select all

    Bisecting: 11 revisions left to test after this (roughly 4 steps)
    [c2e7a19827eec443a7cbe85e8d959052412d6dc3] powerpc: Use generic fallocate compatibility syscall
  14. git bisect bad
    Output:

    Code: Select all

    Bisecting: 5 revisions left to test after this (roughly 3 steps)
    [2b1dac4b5f97ea88fb01dfcab7fc24500b5dea95] powerpc/64s: Use {ZEROIZE,SAVE,REST}_GPRS macros in sc, scv 0 handlers
  15. git bisect good
    Output:

    Code: Select all

    Bisecting: 2 revisions left to test after this (roughly 2 steps)
    [620f5c59c8617d623428c03414a022fca4e9eea2] powerpc/64s: Fix comment on interrupt handler prologue
  16. git bisect good
    Output:

    Code: Select all

    Bisecting: 0 revisions left to test after this (roughly 1 step)
    [43d5de2b67d7f4a8478820005152f7f689608f2f] asm-generic: compat: Support BE for long long args in 32-bit ABIs
  17. git bisect good
    Output:

    Code: Select all

    c2e7a19827eec443a7cbe85e8d959052412d6dc3 is the first bad commit
    commit c2e7a19827eec443a7cbe85e8d959052412d6dc3
    Author: Rohan McLure <[email protected]>
    Date:   Wed Sep 21 16:55:50 2022 +1000
    
        powerpc: Use generic fallocate compatibility syscall
    
        The powerpc fallocate compat syscall handler is identical to the
        generic implementation provided by commit 59c10c52f573f ("riscv:
        compat: syscall: Add compat_sys_call_table implementation"), and as
        such can be removed in favour of the generic implementation.
    
        A future patch series will replace more architecture-defined syscall
        handlers with generic implementations, dependent on introducing generic
        implementations that are compatible with powerpc and arm's parameter
        reorderings.
    
        Reported-by: Arnd Bergmann <[email protected]>
        Signed-off-by: Rohan McLure <[email protected]>
        Reviewed-by: Arnd Bergmann <[email protected]>
        Signed-off-by: Michael Ellerman <[email protected]>
        Link: https://lore.kernel.org/r/[email protected]
    
     arch/powerpc/include/asm/syscalls.h | 2 --
     arch/powerpc/include/asm/unistd.h   | 1 +
     arch/powerpc/kernel/sys_ppc32.c     | 7 -------
     3 files changed, 1 insertion(+), 9 deletions(-)
    
Result: c2e7a19827eec443a7cbe85e8d959052412d6dc3 (powerpc: Use generic fallocate compatibility syscall) is the first bad commit.

Unfortunately I wasn't able to revert the first bad commit.

Code: Select all

git revert c2e7a19827eec443a7cbe85e8d959052412d6dc3
But I was able to create a patch for reverting the bad commit.

Code: Select all

diff -rupN a b > syscall.patch
syscall.patch:

Code: Select all

diff -rupN a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
--- a/arch/powerpc/include/asm/syscalls.h       2022-10-30 13:53:28.956001116 +0100
+++ b/arch/powerpc/include/asm/syscalls.h       2022-10-30 13:55:39.166300756 +0100
@@ -15,6 +15,7 @@
 #include <asm/unistd.h>
 #include <asm/ucontext.h>

+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2, u32 len1, u32 len2);
 #ifndef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
 long sys_ni_syscall(void);
 #else
diff -rupN a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
--- a/arch/powerpc/include/asm/unistd.h 2022-10-30 13:53:28.957001103 +0100
+++ b/arch/powerpc/include/asm/unistd.h 2022-10-30 13:56:44.851441888 +0100
@@ -45,7 +45,6 @@
 #define __ARCH_WANT_SYS_UTIME
 #define __ARCH_WANT_SYS_NEWFSTATAT
 #define __ARCH_WANT_COMPAT_STAT
-#define __ARCH_WANT_COMPAT_FALLOCATE
 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
 #endif
 #define __ARCH_WANT_SYS_FORK
diff -rupN a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
--- a/arch/powerpc/kernel/sys_ppc32.c   2022-10-30 13:53:28.967000972 +0100
+++ b/arch/powerpc/kernel/sys_ppc32.c   2022-10-30 13:58:28.993078689 +0100
@@ -97,6 +97,13 @@ PPC32_SYSCALL_DEFINE4(ppc_truncate64,
        return ksys_truncate(path, merge_64(len1, len2));
 }

+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
+                                    u32 len1, u32 len2)
+{
+       return ksys_fallocate(fd, mode, merge_64(offset1, offset2),
+                            merge_64(len1, len2));
+}
+
 PPC32_SYSCALL_DEFINE4(ppc_ftruncate64,
                       unsigned int, fd, u32, reg4,
                       unsigned long, len1, unsigned long, len2)
I compiled the kernel with this patch. After that the kernel works without any problems.

I reported this issue to the Linuxppc-dev mailing list today.

Link: Issues with the first PowerPC updates for the kernel 6.1

Cheers,
Christian

Re: New kernels

Posted: Mon Oct 31, 2022 4:57 pm
by xeno74
Hi All,

Here is the RC2 of kernel 6.1 for testing.

New:
Download: linux-image-6.1-rc2-X1000_X5000.tar.gz

Image

Please test the kernels.

Thanks,
Christian