From: John Ogness <john.ogness@linutronix.de>
To: Stephen Brennan <stephen.s.brennan@oracle.com>,
Petr Mladek <pmladek@suse.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>
Cc: Stephen Brennan <stephen.s.brennan@oracle.com>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] printk: Drop console_sem during panic
Date: Mon, 24 Jan 2022 17:32:27 +0106 [thread overview]
Message-ID: <87mtjl3xsc.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <87pmoh3yf9.fsf@jogness.linutronix.de>
On 2022-01-24, John Ogness <john.ogness@linutronix.de> wrote:
> Something like:
>
> @@ -2731,7 +2731,8 @@ void console_unlock(void)
> * there's a new owner and the console_unlock() from them will do the
> * flush, no worries.
> */
> - retry = prb_read_valid(prb, next_seq, NULL);
> + retry = (pcpu != raw_smp_processor_id()) &&
> + prb_read_valid(prb, next_seq, NULL);
> if (retry && console_trylock())
> goto again;
> }
Sorry, that hunk is obviously garbage. I meant something like:
@@ -2731,7 +2731,10 @@ void console_unlock(void)
* there's a new owner and the console_unlock() from them will do the
* flush, no worries.
*/
- retry = prb_read_valid(prb, next_seq, NULL);
+ if (panic_in_progress())
+ retry = (pcpu == raw_smp_processor_id()) && prb_read_valid(prb, next_seq, NULL);
+ else
+ retry = prb_read_valid(prb, next_seq, NULL);
if (retry && console_trylock())
goto again;
}
I'm sure there is a cleaner way to code that.
John
next prev parent reply other threads:[~2022-01-24 16:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-21 19:02 [PATCH 0/4] printk: reduce deadlocks during panic Stephen Brennan
2022-01-21 19:02 ` [PATCH 1/4] panic: Add panic_in_progress helper Stephen Brennan
2022-01-25 11:48 ` Petr Mladek
2022-01-26 17:37 ` Stephen Brennan
2022-01-21 19:02 ` [PATCH 2/4] printk: disable optimistic spin during panic Stephen Brennan
2022-01-25 12:42 ` Petr Mladek
2022-01-26 9:18 ` Sergey Senozhatsky
2022-01-26 9:45 ` John Ogness
2022-01-26 10:06 ` Sergey Senozhatsky
2022-01-26 18:15 ` Stephen Brennan
2022-01-27 7:11 ` Sergey Senozhatsky
2022-01-27 9:09 ` John Ogness
2022-01-27 11:38 ` Petr Mladek
2022-01-27 12:43 ` John Ogness
2022-01-27 14:25 ` Petr Mladek
2022-01-21 19:02 ` [PATCH 3/4] printk: Avoid livelock with heavy printk " Stephen Brennan
2022-01-25 14:25 ` Petr Mladek
2022-01-21 19:02 ` [PATCH 4/4] printk: Drop console_sem " Stephen Brennan
2022-01-24 16:12 ` John Ogness
2022-01-24 16:26 ` John Ogness [this message]
2022-01-25 15:04 ` Petr Mladek
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=87mtjl3xsc.fsf@jogness.linutronix.de \
--to=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=stephen.s.brennan@oracle.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.