Messages in this thread | | | Date | Fri, 23 Oct 2020 11:46:13 +0200 | From | Petr Mladek <> | Subject | Re: [RFC 1/2] printk: Add kernel parameter: mute_console |
| |
On Thu 2020-10-22 09:45:12, Steven Rostedt wrote: > On Thu, 22 Oct 2020 13:42:27 +0200 > Petr Mladek <pmladek@suse.com> wrote: > > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index fe64a49344bf..63fb96630767 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1207,6 +1207,19 @@ void __init setup_log_buf(int early) > > memblock_free(__pa(new_log_buf), new_log_buf_len); > > } > > > > +static bool mute_console; > > + > > +static int __init mute_console_setup(char *str) > > +{ > > + mute_console = true; > > + pr_info("All consoles muted.\n"); > > + > > + return 0; > > +} > > + > > +early_param("mute_console", mute_console_setup); > > +module_param(mute_console, bool, 0644); > > + > > Why have both early_param and module_param? What's the purpose of > module_param? Usually that's there to just set a variable, without a need > for another interface. But if you have early_param() that sets > mute_console, isn't that redundant?
I was surprised as well. But both seem to be needed:
+ early_param allows to enable it on the command line. Note that module_param would need to be set via printk.mute_console
+ module_param() allows to modify the state at runtime
IMHO, both should be possible. It is supposed to be used similar way like ignore_loglevel.
Best Regards, Petr
| |