[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZnpRozsdw6zbjqze@tlindgre-MOBL1>
Date: Tue, 25 Jun 2024 08:12:03 +0300
From: Tony Lindgren <tony.lindgren@...ux.intel.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Petr Mladek <pmladek@...e.com>,
Linus Torvalds <torvalds@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Steven Rostedt <rostedt@...dmis.org>,
John Ogness <john.ogness@...utronix.de>,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Tony Lindgren <tony@...mide.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 0/4] Fixes for console command line ordering
On Mon, Jun 24, 2024 at 03:35:39PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Jun 21, 2024 at 04:44:10PM +0200, Petr Mladek wrote:
> > Added Linus into Cc.
> >
> > On Thu 2024-06-20 15:45:25, Tony Lindgren wrote:
> > > Hi,
> > >
> > > Recent changes to add support for DEVNAME:0.0 style consoles caused a
> > > regression with the preferred console order where the last console on
> > > the kernel command line is no longer the preferred console.
> > >
> > > The following four changes fix the issue using Petr's suggestion that
> > > does not involve calling __add_preferred_console() later on again, and
> > > adds the deferred consoles to the console_cmdline[] directly to be
> > > updated when the console is ready.
> > >
> > > We revert the earlier printk related changes, and then add back the
> > > DEVNAME:0.0 functionality based on Petr's code snippet. And we end up
> > > reducing the code quite a bit too this way.
> > >
> > > And we also revert all the unusable serial core console quirk handling,
> > > it does not do anything for the legacy "ttyS" named consoles. And then
> > > we add a minimal serial_base_match_and_update_preferred_console().
> > >
> > > The reason we want DEVNAME:0.0 style consoles is it helps addressing the
> > > console based on the connected serial port controller device rather than
> > > using the hardcoded ttyS addressing. And that helps with issues related
> > > to the console moving around after togging the HSUART option in the BIOS,
> > > or when new ports are enabled in devicetree and aliases are not updated.
> > >
> > > Tony Lindgren (4):
> > > printk: Revert add_preferred_console_match() related commits
> > > printk: Add match_devname_and_update_preferred_console()
> > > serial: core: Revert unusable console quirk handling
> > > serial: core: Add serial_base_match_and_update_preferred_console()
> > >
> > > drivers/tty/serial/8250/8250_core.c | 5 -
> > > drivers/tty/serial/serial_base.h | 22 +---
> > > drivers/tty/serial/serial_base_bus.c | 116 +++------------------
> > > drivers/tty/serial/serial_core.c | 2 +-
> > > include/linux/printk.h | 5 +-
> > > kernel/printk/Makefile | 2 +-
> > > kernel/printk/conopt.c | 146 ---------------------------
> > > kernel/printk/console_cmdline.h | 7 +-
> > > kernel/printk/printk.c | 122 ++++++++++++++++------
> > > 9 files changed, 112 insertions(+), 315 deletions(-)
> > > delete mode 100644 kernel/printk/conopt.c
> >
> > The patchset looks ready for linux-next. And I have pushed it
> > into printk/linux.git, branch for-6.10-register-console-devname.
> >
> > I am not sure about the mainline. We need to fix the regression in 6.10.
> > The change is not trivial and rc5 is knocking on the doors.
> >
> > Unfortunately, the patchset intermixes reverts and new code.
> > So that it can't be used for simple revert as is.
> >
> > I am quite confident that the new code works as expected.
> > It changes tricky code but the logic of the change is quite
> > straightforward.
> >
> >
> > I see three solutions:
> >
> > 1. Linus could merge the changes directly into rc5.
> >
> > 2. I could send a pull request after it survives few days in
> > linux-next.
> >
> > 3. Or we rework the patchset. And do pure revert for 6.10 and
> > add the feature a clean way for-6.11.
>
> Pure revert for 6.10 might be good, as it's late in the cycle. Let me
> know the git ids and I can do that.
Here's the list of git ids to revert:
$ git log --abbrev=12 --pretty=format:"%h (\"%s\")" v6.9..v6.10-rc5 \
--author="Tony Lindgren" kernel/printk drivers/tty/ Documentation/admin-guide/
b20172ca6bf4 ("serial: core: Fix ifdef for serial base console functions")
4547cd76f08a ("serial: 8250: Fix add preferred console for serial8250_isa_init_ports()")
5c3a766e9f05 ("Documentation: kernel-parameters: Add DEVNAME:0.0 format for serial ports")
a8b04cfe7dad ("serial: 8250: Add preferred console in serial8250_isa_init_ports()")
a0f32e2dd998 ("serial: core: Handle serial console options")
787a1cabac01 ("serial: core: Add support for DEVNAME:0.0 style naming for kernel console")
b73c9cbe4f1f ("printk: Flag register_console() if console is set on command line")
8a831c584e6e ("printk: Don't try to parse DEVNAME:0.0 console options")
f03e8c1060f8 ("printk: Save console options for add_preferred_console_match()")
> > I personally prefer the 3rd solution. But I am super conservative.
> > I guess that most other people would go with the other 2 solutions.
>
> I'll be conservative here as well.
Conservative is good.
Regards,
Tony
Powered by blists - more mailing lists