All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Richard W.M. Jones" <rjones@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Aaron Thompson <dev@aaront.org>, linux-kernel@vger.kernel.org
Subject: Re: printk.time causes rare kernel boot hangs
Date: Wed, 14 Jun 2023 12:43:24 +0100	[thread overview]
Message-ID: <20230614114324.GD7636@redhat.com> (raw)
In-Reply-To: <20230614113536.GJ1639749@hirez.programming.kicks-ass.net>

On Wed, Jun 14, 2023 at 01:35:36PM +0200, Peter Zijlstra wrote:
> On Wed, Jun 14, 2023 at 11:39:53AM +0100, Richard W.M. Jones wrote:
> > Got it!
> > 
> > #0  arch_static_branch (branch=false, key=<optimized out>)
> >     at ./arch/x86/include/asm/jump_label.h:27
> > #1  static_key_false (key=<optimized out>) at ./include/linux/jump_label.h:207
> > #2  native_write_msr (msr=1760, low=1876580734, high=106)
> >     at ./arch/x86/include/asm/msr.h:147
> > #3  0xffffffff8107997c in paravirt_write_msr (high=<optimized out>, 
> >     low=1876580734, msr=1760) at ./arch/x86/include/asm/paravirt.h:196
> > #4  wrmsrl (val=<optimized out>, msr=1760)
> >     at ./arch/x86/include/asm/paravirt.h:229
> > #5  lapic_next_deadline (delta=<optimized out>, evt=<optimized out>)
> >     at arch/x86/kernel/apic/apic.c:491
> > #6  0xffffffff811f7b1d in clockevents_program_event (dev=0xffff88804e820dc0, 
> >     expires=<optimized out>, force=<optimized out>)
> >     at kernel/time/clockevents.c:334
> > #7  0xffffffff811f81b0 in tick_handle_periodic (dev=0xffff88804e820dc0)
> >     at kernel/time/tick-common.c:133
> > #8  0xffffffff810796c1 in local_apic_timer_interrupt ()
> >     at arch/x86/kernel/apic/apic.c:1095
> > #9  __sysvec_apic_timer_interrupt (regs=regs@entry=0xffffc90000003ee8)
> >     at arch/x86/kernel/apic/apic.c:1112
> > #10 0xffffffff81f9cf09 in sysvec_apic_timer_interrupt (regs=0xffffc90000003ee8)
> >     at arch/x86/kernel/apic/apic.c:1106
> > #11 0xffffffff820015ca in asm_sysvec_apic_timer_interrupt ()
> >     at ./arch/x86/include/asm/idtentry.h:645
> > #12 0x0000000000000000 in ?? ()
> 
> Uuuhh.. something is really fishy here. The thing in common between the
> fingered patch and this stacktrace is the jump_label/static_branch
> usage, but they're quite different paths.
> 
> There is no printk or local_clock() in sight here.

So I should note that the stack trace is collected by connecting to
qemu after the kernel "hangs" ("hangs" in quotes, because it is
probably still running).

It's difficult to collect a stack trace at the moment of the hang
since I basically have to wait for hundreds of boot iterations until I
see the bug manifest.

I wonder if the KVM tracing features would be a better approach here?

> I've got that plain qemu thing running on:
> 
>   defconfig + kvm_guest.config + CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> 
> and have added "nokaslr" to the -append string. Lets see if it wants to
> go wobbly for me.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html


  reply	other threads:[~2023-06-14 11:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-13 13:41 printk.time causes rare kernel boot hangs Richard W.M. Jones
2023-06-13 14:07 ` Linux regression tracking #adding (Thorsten Leemhuis)
2023-06-18 10:25   ` Linux regression tracking #update (Thorsten Leemhuis)
2023-06-14  9:21 ` Peter Zijlstra
2023-06-14  9:45   ` Richard W.M. Jones
2023-06-14 10:30     ` Richard W.M. Jones
2023-06-14 10:39       ` Richard W.M. Jones
2023-06-14 11:35         ` Peter Zijlstra
2023-06-14 11:43           ` Richard W.M. Jones [this message]
2023-06-14 12:37           ` Richard W.M. Jones
2023-06-14 12:53           ` Peter Zijlstra
2023-06-14 13:03             ` Richard W.M. Jones
2023-06-14 13:09               ` Peter Zijlstra
2023-06-14 14:53                 ` Peter Zijlstra
2023-06-14 15:07                   ` Richard W.M. Jones
2023-06-14 15:19                     ` Peter Zijlstra
2023-06-14 15:22                       ` Richard W.M. Jones
2023-06-14 15:31                       ` Peter Zijlstra
2023-06-14 15:50                         ` Richard W.M. Jones
2023-06-14 17:34                           ` Richard W.M. Jones
2023-06-15  7:40                             ` Alexandre Belloni
2023-06-15  7:48                               ` Richard W.M. Jones
2023-06-14 11:20       ` Peter Zijlstra
2023-06-14 11:16     ` Peter Zijlstra
2023-06-14 11:22       ` Richard W.M. Jones
2023-06-14 11:26         ` Richard W.M. Jones
2023-06-15 11:04           ` YiFei Zhu
2023-06-15 11:29             ` Richard W.M. Jones
2023-06-15 11:31             ` Richard W.M. Jones
2023-06-15 12:20               ` Dr. David Alan Gilbert
2023-06-15 12:21               ` Richard W.M. Jones
2023-06-15 12:23                 ` Richard W.M. Jones

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=20230614114324.GD7636@redhat.com \
    --to=rjones@redhat.com \
    --cc=dev@aaront.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.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 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.