mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
From: John Ogness <john.ogness@linutronix.de>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-amlogic@lists.infradead.org
Subject: Re: [PATCH printk v5 1/1] printk: extend console_lock for per-console locking
Date: Thu, 05 May 2022 00:48:28 +0206	[thread overview]
Message-ID: <87a6bwapij.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <87pmktm2a9.fsf@jogness.linutronix.de>

On 2022-05-04, John Ogness <john.ogness@linutronix.de> wrote:
> I can reproduce the apparent stack corruption with qemu:
>
> [    5.545268] task:pr/ttyAMA0      state:S stack:    0 pid:   26 ppid:     2 flags:0x00000008
> [    5.545520] Call trace:
> [    5.545620]  __switch_to+0x104/0x160
> [    5.545796]  __schedule+0x2f4/0x9f0
> [    5.546122]  schedule+0x54/0xd0
> [    5.546206]  0x0

I believe I am chasing a ghost. I can rather easily reproduce these
strange call traces, but if another sysrq-t is sent afterwards, the call
trace is OK. Also, I added trace_dump_stack() into the printk-kthread
main loop to dump the stack on every iteration. There I never see any
corruption, even though the timestamps are near the sysrq-t dump showing
corruption. Moving trace_dump_stack() into
amba-pl011:pl011_console_write() also showed no stack corruption at very
near times when sysrq-t did.

And it should be noted that the console-hanging issues reported in this
thread _cannot_ be reproduced with qemu.

So I will stop focussing on this "corrupt stack" thing and instead
investigate what the meson driver is doing that causes it to get
stuck. Since interrupts do not even fire, I'm guessing that the RX
interrupts are not being re-enabled (AML_UART_RX_INT_EN) for some code
path. This bit is only explicitly set once, in
meson_uart_startup(). Whenever the bit is cleared, later the previous
value is restored. This is assumed to mean the interrupt gets
re-enabled. But if there is some code path where multiple CPUs can
modify the register, then the interrupt could end up permanently
disabled.

I will go through and check if all access to AML_UART_CONTROL is
protected by port->lock.

John

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  reply	other threads:[~2022-05-04 22:42 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220421212250.565456-1-john.ogness@linutronix.de>
     [not found] ` <20220421212250.565456-15-john.ogness@linutronix.de>
     [not found]   ` <878rrs6ft7.fsf@jogness.linutronix.de>
     [not found]     ` <Ymfgis0EAw0Oxoa5@alley>
     [not found]       ` <Ymfwk+X0CHq6ex3s@alley>
     [not found]         ` <CGME20220427070833eucas1p27a32ce7c41c0da26f05bd52155f0031c@eucas1p2.samsung.com>
2022-04-27  7:08           ` Marek Szyprowski
2022-04-27  7:38             ` Petr Mladek
2022-04-27 11:44               ` Marek Szyprowski
2022-04-27 16:15                 ` John Ogness
2022-04-27 16:48                   ` Petr Mladek
2022-04-28 14:54                   ` Petr Mladek
2022-04-29 13:53                   ` Marek Szyprowski
2022-04-30 16:00                     ` John Ogness
2022-05-02  9:19                       ` Marek Szyprowski
2022-05-02 13:11                         ` John Ogness
2022-05-02 22:29                           ` Marek Szyprowski
2022-05-04  5:56                             ` John Ogness
2022-05-04  6:52                               ` Marek Szyprowski
2022-06-08 15:10                           ` Geert Uytterhoeven
2022-06-09 11:19                             ` John Ogness
2022-06-09 11:58                               ` Jason A. Donenfeld
2022-06-09 12:18                                 ` Dmitry Vyukov
2022-06-09 12:27                                   ` Jason A. Donenfeld
2022-06-09 12:32                                     ` Dmitry Vyukov
2022-06-17 16:51                                     ` Sebastian Andrzej Siewior
2022-06-09 12:18                                 ` Jason A. Donenfeld
2022-05-02 13:17                         ` Petr Mladek
2022-05-02 23:13                           ` Marek Szyprowski
2022-05-03  6:49                             ` Petr Mladek
2022-05-04  6:05                               ` Marek Szyprowski
2022-05-04 21:11                             ` John Ogness
2022-05-04 22:42                               ` John Ogness [this message]
2022-05-05 22:33                                 ` John Ogness
2022-05-06  6:43                                   ` Marek Szyprowski
2022-05-06  7:55                                     ` Neil Armstrong
2022-05-08 11:02                                       ` John Ogness
2022-05-06  8:16                                     ` Petr Mladek
2022-05-06  9:20                                     ` John Ogness

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=87a6bwapij.fsf@jogness.linutronix.de \
    --to=john.ogness@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.org \
    --cc=tglx@linutronix.de \
    /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

all inboxes | Powered by JetHome®