Re: [for-next][PATCH 04/26] bootconfig: Add Extra Boot Config support

From: Masami Hiramatsu
Date: Fri Feb 07 2020 - 10:06:54 EST


On Fri, 7 Feb 2020 12:41:22 +0100
Borislav Petkov <bp@xxxxxxxxx> wrote:

> On Fri, Feb 07, 2020 at 11:46:17AM +0900, Masami Hiramatsu wrote:
> > It could change some other things. I recommend developers to use this
> > feature to configure their subsystem easier and admins to configure
> > kernel boot options more readable way.
>
> Well, I could use an actual justification for why I would need it.
> Because, frankly, I haven't sat down and thought: "hmm, this boot
> command line supplement thing is awful and I need a better one." IOW,
> it has never bothered me so far. But I'm always open to improvements as
> long as they don't make it worse. :)

OK, could you tell me your idea to make it better? I'm waiting for such
discussion a half of last year :)

For your information, here is the background of this bootconfig.
To build my boot-time tracing, I need a way to pass a flexible and
structured configuration at boot time.
I had tried to reuse devicetree at first, but it was rejected because
the devicetree is only for describing hardware. So I introduced this
bootconfig.
When I designed the bootconfig, I tried to sort out the requirements.
That config should be able to pass all setting we can do on tracefs.
Since ftrace already has a parser for tracefs, we don't need any types
for each settings. Thus it should be something like sysctl.conf. But the
sysctl.conf was too simple, it couldn't handle several related keys
well. So I decided to introduce braces which put together some related
parameters. And the bootconfig syntax was born.

I see that current piggyback method might look a bit odd. My first
implementation was bootloader based method (I implemented it on grub and
qemu), but that was not useful, especially it required user to replace
their bootloader...

> > Many distros may not use it unless it is default y. I couldn't find any
> > good example that the feature "default n" turns into "default y".
> > Would you have any example?
>
> We - SUSE - always reevaluate our configs for the next service pack and
> enable things which make sense and customers use. So all the new drivers
> get enabled, kernel infra which makes sense too, etc.
>
> If the bootconfig thing proves useful, I will glady enable it in our
> tree.

Okay, I hope it and try to prove it. Anyway, to use boot-time tracing which
can fully utilize ftrace at boot-time, we have to enable bootconfig.

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>