All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [for-next][PATCH 04/26] bootconfig: Add Extra Boot Config support
Date: Thu, 6 Feb 2020 18:20:15 +0100	[thread overview]
Message-ID: <CAMuHMdVq1FFBV+XBq-BkLbCb-ZmkKvVMQ4xACxF-+2Wc3mnnNg@mail.gmail.com> (raw)
In-Reply-To: <20200206234100.953b48ecef04f97c112d2e8b@kernel.org>

Hi Hiramatsu-san,

On Thu, Feb 6, 2020 at 3:42 PM Masami Hiramatsu <mhiramat@kernel.org> wrote:
> On Thu, 6 Feb 2020 12:54:05 +0100
> Borislav Petkov <bp@alien8.de> wrote:
> > On Tue, Jan 14, 2020 at 04:03:20PM -0500, Steven Rostedt wrote:
> > > diff --git a/init/Kconfig b/init/Kconfig
> > > index a34064a031a5..63450d3bbf12 100644
> > > --- a/init/Kconfig
> > > +++ b/init/Kconfig
> > > @@ -1215,6 +1215,17 @@ source "usr/Kconfig"
> > >
> > >  endif
> > >
> > > +config BOOT_CONFIG
> > > +   bool "Boot config support"
> > > +   select LIBXBC
> > > +   default y
> >
> > Any particular reason this is default y? Why should it be enabled by
> > default on all boxes?
>
> Oh, you are not the first person asked that :)
>
> https://lkml.org/lkml/2019/12/9/563
>
> And yes, I think this is important that will useful for most developers
> and admins. Since the bootconfig already covers kernel and init options,
> this can be a new standard way to pass args to kernel boot.
>
> And as I reported above thread, the memory footpoint of view, most code
> and working memory are released after boot. Also, as Linus's suggested,
> now this feature is enabled only if user gives "bootconfig" on the kernel
> command line. So the side effect is minimized.

With m68k/atari_defconfig, bloat-o-meter says:

    add/remove: 39/0 grow/shrink: 2/0 up/down: 13086/0 (13086)

which is IMHO not that small for a "default y" option that may or may not
be used.

Especially:

        Function                                     old     new   delta
    xbc_nodes                                      -    8192   +8192

Any chance xbc_nodes can be allocated dynamically, and only when needed?

Yes, there are industrial products running Linux on a current ARM SoC
using the builtin 8 or 10 MiB of SRAM (+ XIP for the kernel), so these
definitely want to say CONFIG_BOOT_CONFIG=n.

Thanks!

add/remove: 39/0 grow/shrink: 2/0 up/down: 13086/0 (13086)
Function                                     old     new   delta
xbc_nodes                                      -    8192   +8192
xbc_init                                       -     854    +854
start_kernel                                1020    1580    +560
copy_xbc_key_value_list                        -     362    +362
__xbc_parse_value                              -     324    +324
xbc_snprint_cmdline                            -     294    +294
xbc_node_compose_key_after                     -     266    +266
xbc_namebuf                                    -     256    +256
xbc_add_sibling                                -     254    +254
xbc_node_find_next_leaf                        -     186    +186
xbc_node_find_child                            -     176    +176
__xbc_add_key                                  -     162    +162
proc_boot_config_init                          -     124    +124
xbc_make_cmdline                               -     122    +122
xbc_node_find_value                            -     104    +104
xbc_node_find_next_key_value                   -     102    +102
__xbc_close_brace                              -      92     +92
find_match_node                                -      80     +80
__xbc_parse_keys                               -      78     +78
xbc_node_get_data                              -      64     +64
xbc_parse_key                                  -      60     +60
skip_comment                                   -      48     +48
xbc_destroy_all                                -      42     +42
xbc_node_get_parent                            -      38     +38
xbc_parse_error                                -      36     +36
xbc_node_get_child                             -      34     +34
xbc_node_get_next                              -      32     +32
boot_config_checksum                           -      30     +30
boot_config_proc_show                          -      26     +26
xbc_root_node                                  -      20     +20
kzalloc.constprop                            810     830     +20
xbc_node_index                                 -      14     +14
xbc_node_num                                   -       4      +4
xbc_data_size                                  -       4      +4
xbc_data                                       -       4      +4
saved_boot_config                              -       4      +4
last_parent                                    -       4      +4
extra_init_args                                -       4      +4
extra_command_line                             -       4      +4
__initcall_proc_boot_config_init5              -       4      +4
xbc_debug_dump                                 -       2      +2
Total: Before=3688860, After=3701946, chg +0.35%

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

  reply	other threads:[~2020-02-06 17:20 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-14 21:03 [for-next][PATCH 00/26] tracing: Updates for 5.6 Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 01/26] perf: Make struct ring_buffer less ambiguous Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 02/26] tracing: Rename trace_buffer to array_buffer Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 03/26] tracing: Make struct ring_buffer less ambiguous Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 04/26] bootconfig: Add Extra Boot Config support Steven Rostedt
2020-02-06 11:54   ` Borislav Petkov
2020-02-06 14:41     ` Masami Hiramatsu
2020-02-06 17:20       ` Geert Uytterhoeven [this message]
2020-02-07  0:30         ` Masami Hiramatsu
2020-02-07  8:49           ` Geert Uytterhoeven
2020-02-07 13:17             ` Masami Hiramatsu
2020-02-07 14:28               ` [PATCH] bootconfig: Allocate xbc_nodes array dynamically Masami Hiramatsu
2020-02-06 17:58       ` [for-next][PATCH 04/26] bootconfig: Add Extra Boot Config support Borislav Petkov
2020-02-06 18:10         ` Randy Dunlap
2020-02-06 22:39           ` Steven Rostedt
2020-02-06 22:51             ` Borislav Petkov
2020-02-07  8:59             ` Geert Uytterhoeven
2020-02-07  2:46         ` Masami Hiramatsu
2020-02-07 11:41           ` Borislav Petkov
2020-02-07 15:06             ` Masami Hiramatsu
2020-02-10 11:25               ` Borislav Petkov
2020-02-10 15:10                 ` Masami Hiramatsu
2020-02-10 17:40                   ` Borislav Petkov
2020-02-11  2:02                     ` Masami Hiramatsu
2020-02-18 13:27                       ` Borislav Petkov
2020-02-18 17:57                         ` Steven Rostedt
2020-02-18 19:38                           ` Borislav Petkov
2020-02-19  2:26                             ` Masami Hiramatsu
2020-02-19  2:26                           ` Masami Hiramatsu
2020-02-19  2:26                         ` Masami Hiramatsu
2020-02-11  9:25                     ` Geert Uytterhoeven
2020-01-14 21:03 ` [for-next][PATCH 05/26] bootconfig: Load boot config from the tail of initrd Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 06/26] tools: bootconfig: Add bootconfig command Steven Rostedt
2020-02-07 13:02   ` Michael Ellerman
2020-02-07 13:39     ` Masami Hiramatsu
2020-02-07 13:55     ` [PATCH] tools/bootconfig: Fix wrong __VA_ARGS__ usage Masami Hiramatsu
2020-02-08 11:10       ` Michael Ellerman
2020-02-09  4:09         ` Masami Hiramatsu
2020-02-09 13:05         ` [PATCH] tools/bootconfig: Suppress non-error messages Masami Hiramatsu
2020-02-10  2:06           ` Michael Ellerman
2020-02-10  7:18             ` Masami Hiramatsu
2020-02-10  9:50               ` Michael Ellerman
2020-02-10  9:50       ` [PATCH] tools/bootconfig: Fix wrong __VA_ARGS__ usage Michael Ellerman
2020-02-10 17:07         ` Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 07/26] tools: bootconfig: Add bootconfig test script Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 08/26] proc: bootconfig: Add /proc/bootconfig to show boot config list Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 09/26] init/main.c: Alloc initcall_command_line in do_initcall() and free it Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 10/26] bootconfig: init: Allow admin to use bootconfig for kernel command line Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 11/26] bootconfig: init: Allow admin to use bootconfig for init " Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 12/26] Documentation: bootconfig: Add a doc for extended boot config Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 13/26] tracing: Apply soft-disabled and filter to tracepoints printk Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 14/26] tracing: kprobes: Output kprobe event to printk buffer Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 15/26] tracing: kprobes: Register to dynevent earlier stage Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 16/26] tracing: Accept different type for synthetic event fields Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 17/26] tracing: Add NULL trace-array check in print_synth_event() Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 18/26] tracing/boot: Add boot-time tracing Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 19/26] tracing/boot: Add per-event settings Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 20/26] tracing/boot Add kprobe event support Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 21/26] tracing/boot: Add synthetic " Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 22/26] tracing/boot: Add instance node support Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 23/26] tracing/boot: Add cpu_mask option support Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 24/26] tracing/boot: Add function tracer filter options Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 25/26] Documentation: tracing: Add boot-time tracing document Steven Rostedt
2020-01-14 21:03 ` [for-next][PATCH 26/26] tracing: trigger: Replace unneeded RCU-list traversals Steven Rostedt
2020-01-14 22:11   ` Steven Rostedt

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=CAMuHMdVq1FFBV+XBq-BkLbCb-ZmkKvVMQ4xACxF-+2Wc3mnnNg@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.org \
    --cc=rostedt@goodmis.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.