On Thu, Sep 01, 2022 at 09:26:27PM +0200, Daniel Vetter wrote: > On Thu, 1 Sept 2022 at 13:35, Petr Mladek <pmladek@xxxxxxxx> wrote: > > > > On Tue 2022-08-30 16:50:04, Daniel Vetter wrote: > > > console_unblank() does this too (called in both places right after), > > > and with a lot more confidence inspiring approach to locking. > > > > > > Reconstructing this story is very strange: > > > > > > In b61312d353da ("oops handling: ensure that any oops is flushed to > > > the mtdoops console") it is claimed that a printk(" "); flushed out > > > the console buffer, which was removed in e3e8a75d2acf ("[PATCH] > > > Extract and use wake_up_klogd()"). In todays kernels this is done way > > > earlier in console_flush_on_panic with some really nasty tricks. I > > > didn't bother to fully reconstruct this all, least because the call to > > > bust_spinlock(0); gets moved every few years, depending upon how the > > > wind blows (or well, who screamed loudest about the various issue each > > > call site caused). > > > > > > Before that commit the only calls to console_unblank() where in s390 > > > arch code. > > > > > > The other side here is the console->unblank callback, which was > > > introduced in 2.1.31 for the vt driver. Which predates the > > > console_unblank() function by a lot, which was added (without users) > > > in 2.4.14.3. So pretty much impossible to guess at any motivation > > > here. Also afaict the vt driver is the only (and always was the only) > > > console driver implementing the unblank callback, so no idea why a > > > call to console_unblank() was added for the mtdooops driver - the > > > action actually flushing out the console buffers is done from > > > console_unlock() only. > > > > My understanding is that mtdoops is not a real console. The commit > > 4b23aff083649eafa141 ("[MTD] oops and panic message logging to MTD > > device") suggests that it was just (mis)using the console > > infrastructure. > > > > The commit 2e386e4bac90554887e73d ("mtd: mtdoops: refactor as a > > kmsg_dumper") converted it to use the new kmsg_dumper API that > > was created for this use case. > > > > So, I would consider all the mtdoops-related changes as a misuse > > of the console API. > > Ah, that's a good piece of information that I didn't figure out. > > Greg, if you haven't baked in the patch yet, can you perhaps add the > above information from Petr to the commit message? It's already baked, sorry :(