From: Michael Ellerman <patch-notifications@ellerman.id.au>
To: Nicholas Piggin <npiggin@gmail.com>, linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH] powerpc: improve ppc_save_regs
Date: Mon, 6 Apr 2020 23:06:05 +1000 (AEST) [thread overview]
Message-ID: <48wrQ63WhXz9sSy@ozlabs.org> (raw)
In-Reply-To: <20200403131006.123243-1-npiggin@gmail.com>
On Fri, 2020-04-03 at 13:10:05 UTC, Nicholas Piggin wrote:
> Make ppc_save_regs a bit more useful:
> - Set NIP to our caller rather rather than the caller's caller (which is
> what we save to LR in the stack frame).
> - Set SOFTE to the current irq soft-mask state rather than
> uninitialised.
> - Zero CFAR rather than leave it uninitialised.
>
> In qemu, injecting a nmi to an idle CPU gives a nicer stack trace (note
> NIP, IRQMASK, CFAR).
>
> Oops: System Reset, sig: 6 [#1]
> LE PAGE_SIZE=64K MMU=Hash PREEMPT SMP NR_CPUS=2048 NUMA PowerNV
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc2-00429-ga76e38fd80bf #1277
> NIP: c0000000000b6e5c LR: c0000000000b6e5c CTR: c000000000b06270
> REGS: c00000000173fb08 TRAP: 0100 Not tainted
> MSR: 9000000000001033 <SF,HV,ME,IR,DR,RI,LE> CR: 28000224 XER: 00000000
> CFAR: c0000000016a2128 IRQMASK: c00000000173fc80
> GPR00: c0000000000b6e5c c00000000173fc80 c000000001743400 c00000000173fb08
> GPR04: 0000000000000000 0000000000000000 0000000000000008 0000000000000001
> GPR08: 00000001fea80000 0000000000000000 0000000000000000 ffffffffffffffff
> GPR12: c000000000b06270 c000000001930000 00000000300026c0 0000000000000000
> GPR16: 0000000000000000 0000000000000000 0000000000000003 c0000000016a2128
> GPR20: c0000001ffc97148 0000000000000001 c000000000f289a8 0000000000080000
> GPR24: c0000000016e1480 000000011dc870ba 0000000000000000 0000000000000003
> GPR28: c0000000016a2128 c0000001ffc97148 c0000000016a2260 0000000000000003
> NIP [c0000000000b6e5c] power9_idle_type+0x5c/0x70
> LR [c0000000000b6e5c] power9_idle_type+0x5c/0x70
> Call Trace:
> [c00000000173fc80] [c0000000000b6e5c] power9_idle_type+0x5c/0x70 (unreliable)
> [c00000000173fcb0] [c000000000b062b0] stop_loop+0x40/0x60
> [c00000000173fce0] [c000000000b022d8] cpuidle_enter_state+0xa8/0x660
> [c00000000173fd60] [c000000000b0292c] cpuidle_enter+0x4c/0x70
> [c00000000173fda0] [c00000000017624c] call_cpuidle+0x4c/0x90
> [c00000000173fdc0] [c000000000176768] do_idle+0x338/0x460
> [c00000000173fe60] [c000000000176b3c] cpu_startup_entry+0x3c/0x40
> [c00000000173fe90] [c0000000000126b4] rest_init+0x124/0x140
> [c00000000173fed0] [c0000000010948d4] start_kernel+0x938/0x988
> [c00000000173ff90] [c00000000000cdcc] start_here_common+0x1c/0x20
>
> Oops: System Reset, sig: 6 [#1]
> LE PAGE_SIZE=64K MMU=Hash PREEMPT SMP NR_CPUS=2048 NUMA PowerNV
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc2-00430-gddce91b8712f #1278
> NIP: c00000000001d150 LR: c0000000000b6e5c CTR: c000000000b06270
> REGS: c00000000173fb08 TRAP: 0100 Not tainted
> MSR: 9000000000001033 <SF,HV,ME,IR,DR,RI,LE> CR: 28000224 XER: 00000000
> CFAR: 0000000000000000 IRQMASK: 1
> GPR00: c0000000000b6e5c c00000000173fc80 c000000001743400 c00000000173fb08
> GPR04: 0000000000000000 0000000000000000 0000000000000008 0000000000000001
> GPR08: 00000001fea80000 0000000000000000 0000000000000000 ffffffffffffffff
> GPR12: c000000000b06270 c000000001930000 00000000300026c0 0000000000000000
> GPR16: 0000000000000000 0000000000000000 0000000000000003 c0000000016a2128
> GPR20: c0000001ffc97148 0000000000000001 c000000000f289a8 0000000000080000
> GPR24: c0000000016e1480 00000000b68db8ce 0000000000000000 0000000000000003
> GPR28: c0000000016a2128 c0000001ffc97148 c0000000016a2260 0000000000000003
> NIP [c00000000001d150] replay_system_reset+0x30/0xa0
> LR [c0000000000b6e5c] power9_idle_type+0x5c/0x70
> Call Trace:
> [c00000000173fc80] [c0000000000b6e5c] power9_idle_type+0x5c/0x70 (unreliable)
> [c00000000173fcb0] [c000000000b062b0] stop_loop+0x40/0x60
> [c00000000173fce0] [c000000000b022d8] cpuidle_enter_state+0xa8/0x660
> [c00000000173fd60] [c000000000b0292c] cpuidle_enter+0x4c/0x70
> [c00000000173fda0] [c00000000017624c] call_cpuidle+0x4c/0x90
> [c00000000173fdc0] [c000000000176768] do_idle+0x338/0x460
> [c00000000173fe60] [c000000000176b38] cpu_startup_entry+0x38/0x40
> [c00000000173fe90] [c0000000000126b4] rest_init+0x124/0x140
> [c00000000173fed0] [c0000000010948d4] start_kernel+0x938/0x988
> [c00000000173ff90] [c00000000000cdcc] start_here_common+0x1c/0x20
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/d16a58f8854b194c964a4bbe8156ec624ebfdbd2
cheers
prev parent reply other threads:[~2020-04-06 13:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-03 13:10 [PATCH] powerpc: improve ppc_save_regs Nicholas Piggin
2020-04-06 13:06 ` Michael Ellerman [this message]
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=48wrQ63WhXz9sSy@ozlabs.org \
--to=patch-notifications@ellerman.id.au \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.