linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: Erhard Furtner <erhard_f@mailbox.org>,
	Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: "linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: KASAN debug kernel fails to boot at early stage when CONFIG_SMP=y is set (kernel 6.5-rc5, PowerMac G4 3,6)
Date: Thu, 24 Aug 2023 21:36:26 +1000	[thread overview]
Message-ID: <87jztkvfid.fsf@mail.lhotse> (raw)
In-Reply-To: <20230824020015.78733931@yea>

Erhard Furtner <erhard_f@mailbox.org> writes:
> On Tue, 22 Aug 2023 07:31:54 +0000
> Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
>> Le 18/08/2023 à 18:23, Erhard Furtner a écrit :
>> > On Fri, 18 Aug 2023 15:47:38 +0000
>> > Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>> >   
>> >> I'm wondering if the problem is just linked to the kernel being built
>> >> with CONFIG_SMP or if it is the actual startup of a secondary CPU that
>> >> cause the freeze.
>> >>
>> >> Please leave the btext_unmap() in place because I think it is important
>> >> to keep it, and start the kernel with the following parameter:
>> >>
>> >> nr_cpus=1  
>> > 
>> > With btext_unmap() back and place and nr_cpus=1 set the freeze still happens after the 1st btext_unmap:129 on cold boots:
>> > 
>> > [    0.000000] printk: bootconsole [udbg0] enabled
>> > [    0.000000] Total memory = 2048MB; using 4096kB for hash table
>> > [    0.000000] mapin_ram:125
>> > [    0.000000] mmu_mapin_ram:169 0 30000000 1400000 2000000
>> > [    0.000000] __mmu_mapin_ram:146 0 1400000
>> > [    0.000000] __mmu_mapin_ram:155 1400000
>> > [    0.000000] __mmu_mapin_ram:146 1400000 30000000
>> > [    0.000000] __mmu_mapin_ram:155 20000000
>> > [    0.000000] __mapin_ram_chunk:107 20000000 30000000
>> > [    0.000000] __mapin_ram_chunk:117
>> > [    0.000000] mapin_ram:134
>> > [    0.000000] kasan_mmu_init:129
>> > [    0.000000] kasan_mmu_init:132 0
>> > [    0.000000] kasan_mmu_init:137
>> > [    0.000000] btext_unmap:129
>> >   
>> 
>> Thanks,
>> 
>> Can you replace the call to btext_unmap() by a call to btext_map() at 
>> the end of MMU_init() ?
>> 
>> If that gives no interesting result, can you leave the call to 
>> btext_unmap() and add a call to btext_map() at the very begining of 
>> function start_kernel() in init/main.c (You may have to add a include of 
>> asm/btext.h)
>> 
>> With that I hope we can see more stuff.
>
> Ok, I tested out both methods.
>
>   1.) Replace btext_unmap() with btext_map() at the end of MMU_init().
>
> Warm boot again is unspectacular (attached). On cold boots I sometimes get:
>
> printk: bootconsole [udbg0] enabled
> Total memory = 2048MB; using 4096kB for hash table
> mapin_ram:125
> mmu_mapin_ram:169 0 30000000 1400000 2000000
> __mmu_mapin_ram:146 0 1400000
> __mmu_mapin_ram:155 1400000
> __mmu_mapin_ram:146 1400000 30000000
> __mmu_mapin_ram:155 20000000
> __mapin_ram_chunk:107 20000000 30000000
> __mapin_ram_chunk:117
> mapin_ram:134
> kasan_mmu_init:129
> kasan_mmu_init:132 0
> kasan_mmu_init:137
> ioremap() called early from btext_map+0x64/0xdc. Use early_ioremap() instead
> Linux version 6.5.0-rc7-PMacG4-dirty (root@T1000) (gcc (Gentoo 12.3.1_p20230526 p2) 12.3.1 20230526, GNU ld (Gentoo 2.40 p7) 2.40.0) #4 SMP Wed Aug 23 12:59:11 CEST 2023
>
> which shows one line (Linux version...) more than before. Most of the time I get this more interesting output however:
>
> kasan_mmu_init:129
> kasan_mmu_init:132 0
> kasan_mmu_init:137
> Linux version 6.5.0-rc7-PMacG4-dirty (root@T1000) (gcc (Gentoo 12.3.1_p20230526 p2) 12.3.1 20230526, GNU ld (Gentoo 2.40 p7) 2.40.0) #4 SMP Wed Aug 23 12:59:11 CEST 2023
> KASAN init done
> list_add corruption. prev->next should be next (c17100c0), but was 2c030000. (prev=c036ac7c).
> ------------[ cut here ]------------
> kernel BUG at lib/list_debug.c:30!
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 0 at arch/powerpc/include/asm/machdep.h:227 die+0xd8/0x39c

This is a WARN hit while handling the original bug.

Can you apply this patch to avoid that happening, so we can see the
original but better.

diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index eeff136b83d9..341a0635e131 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -198,8 +198,6 @@ static unsigned long oops_begin(struct pt_regs *regs)
 	die_owner = cpu;
 	console_verbose();
 	bust_spinlocks(1);
-	if (machine_is(powermac))
-		pmac_backlight_unblank();
 	return flags;
 }
 NOKPROBE_SYMBOL(oops_begin);


cheers

  reply	other threads:[~2023-08-24 11:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-10 23:48 KASAN debug kernel fails to boot at early stage when CONFIG_SMP=y is set (kernel 6.5-rc5, PowerMac G4 3,6) Erhard Furtner
2023-08-11  6:45 ` Christophe Leroy
2023-08-13 19:38   ` Erhard Furtner
2023-08-14  9:40     ` Christophe Leroy
2023-08-14 17:27       ` Erhard Furtner
2023-08-15 17:21         ` [PATCH] Add pr_info() traces for investigation Christophe Leroy
2023-08-15 17:25         ` KASAN debug kernel fails to boot at early stage when CONFIG_SMP=y is set (kernel 6.5-rc5, PowerMac G4 3,6) Christophe Leroy
2023-08-15 20:01           ` Erhard Furtner
2023-08-16 15:56             ` Christophe Leroy
2023-08-17 18:32               ` Erhard Furtner
2023-08-17 23:13                 ` Michael Ellerman
2023-08-18  9:16                   ` Erhard Furtner
2023-08-18 15:47                     ` Christophe Leroy
2023-08-18 16:23                       ` Erhard Furtner
2023-08-22  7:31                         ` Christophe Leroy
2023-08-24  0:00                           ` Erhard Furtner
2023-08-24 11:36                             ` Michael Ellerman [this message]
2023-08-27 23:17                               ` Erhard Furtner
2023-08-31  5:32                                 ` Christophe Leroy
2023-08-31 22:44                                   ` Erhard Furtner
2023-09-01  7:43                                     ` Christophe Leroy
2023-09-03 21:06                                       ` Erhard Furtner
2023-09-04 14:48                                         ` Christophe Leroy
2023-09-04 14:55                                           ` Christophe Leroy
2023-09-04 21:32                                             ` Erhard Furtner
2023-09-12  0:11                                             ` Erhard Furtner
2023-09-12  7:47                                               ` Christophe Leroy
2023-09-12 15:59                                                 ` Erhard Furtner
2023-09-12 17:39                                                   ` Christophe Leroy
2023-09-12 20:09                                                     ` Erhard Furtner
2023-09-13  5:28                                                       ` Christophe Leroy
2023-09-14  4:54                                                     ` Christophe Leroy
2023-09-14 12:33                                                       ` Erhard Furtner
2024-02-28 23:55                                                       ` Erhard Furtner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87jztkvfid.fsf@mail.lhotse \
    --to=mpe@ellerman.id.au \
    --cc=christophe.leroy@csgroup.eu \
    --cc=erhard_f@mailbox.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).