From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
Hans de Goede <hdegoede@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
x86@kernel.org, linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
Maninder Singh <maninder1.s@samsung.com>
Subject: Re: [PATCH 4.19 regression fix] printk: For early boot messages check loglevel when flushing the buffer
Date: Fri, 7 Sep 2018 13:21:32 +0900 [thread overview]
Message-ID: <20180907042132.GC2394@jagdpanzerIV> (raw)
In-Reply-To: <20180906142825.u2fiqt62jmapr5ud@pathway.suse.cz>
On (09/06/18 16:28), Petr Mladek wrote:
> On Thu 2018-09-06 16:29:40, Sergey Senozhatsky wrote:
> > On (09/05/18 13:02), Petr Mladek wrote:
> > > Note that the first registered console prints all messages
> > > even without this flag.
> >
> > Hmm, OK, interesting point.
> >
> > I assumed that the first console usually has CON_PRINTBUFFER bit set.
> > Or even a CON_PRINTBUFFER | CON_ANYTIME combo. E.g. 8250. It sort of
> > makes sense to have CON_PRINTBUFFER for the first console. Any later
> > consoles [e.g. fbcon, netcon] don't necessarily have CON_PRINTBUFFER.
> >
> > And the first console has CON_PRINTBUFFER bit set. Well, just because
> > it sounds reasonable. Those were the main assumptions behind my code
> > snippet. Was any of those assumptions wrong?
>
> This assumption makes sense. In fact, I was wrong. I thought that
> console_seq/console_idx were not updated until the first console
> was registered. But it is not the case.
>
> It means that the hack with exclusive_console might be usable.
Yeah, it is a hack. But not as dirty as it might appear, I think. In some
sense it's aligned with what we do for exlusive_consoles - we treat exclusive
consoles specially. So specially that even if the system panics while we
re-flush logbuf messages to a new exclusive console, we flush_on_panic() only
to that exclusive console, ignoring the rest of them.
Not sure if it's totally right. There can be a netcon, for instance,
available, which will not see panic flush() because of a exclusive
console:
---
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index c036f128cdc3..ede29a7ba6db 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2545,6 +2545,7 @@ void console_flush_on_panic(void)
* ensure may_schedule is cleared.
*/
console_trylock();
+ exclusive_console = NULL;
console_may_schedule = 0;
console_unlock();
}
---
Opinions?
> But I would prefer to do it a cleaner way.
OK.
> But it is rather complicated, still hacky, ...
Right.
> >
> > I can agree, definitely. That's one of the options.
>
> I prefer the revert for now.
OK, agreed.
IIRC I didn't see any upstream code which would have been fixed
by the commit in question.
-ss
next prev parent reply other threads:[~2018-09-07 4:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-04 18:01 [PATCH 4.19 regression fix] printk: For early boot messages check loglevel when flushing the buffer Hans de Goede
2018-09-05 2:35 ` Sergey Senozhatsky
2018-09-05 4:53 ` Hans de Goede
2018-09-05 5:36 ` Sergey Senozhatsky
2018-09-05 5:51 ` Sergey Senozhatsky
2018-09-05 8:33 ` Sergey Senozhatsky
2018-09-05 11:02 ` Petr Mladek
2018-09-05 15:20 ` Hans de Goede
2018-09-06 14:31 ` Petr Mladek
2018-09-06 7:29 ` Sergey Senozhatsky
2018-09-06 14:28 ` Petr Mladek
2018-09-07 4:21 ` Sergey Senozhatsky [this message]
2018-09-10 14:57 ` Petr Mladek
2018-09-10 15:02 ` Hans de Goede
2018-09-11 2:30 ` Sergey Senozhatsky
2018-09-11 8:47 ` Petr Mladek
2018-09-12 7:49 ` Sergey Senozhatsky
2018-09-12 13:33 ` Petr Mladek
2018-09-13 2:25 ` Sergey Senozhatsky
2018-09-06 14:34 ` kbuild test robot
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=20180907042132.GC2394@jagdpanzerIV \
--to=sergey.senozhatsky.work@gmail.com \
--cc=hdegoede@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maninder1.s@samsung.com \
--cc=mingo@redhat.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky@gmail.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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.