[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0A466BA5-BB85-4254-9D1C-7E6B077E7725@zytor.com>
Date: Tue, 09 May 2023 18:07:40 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Lukas Bulwahn <lukas.bulwahn@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org
CC: kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: make config X86_FEATURE_NAMES visible with EXPERT
On May 9, 2023 1:40:07 AM PDT, Lukas Bulwahn <lukas.bulwahn@...il.com> wrote:
>Commit 6a108a14fa35 ("kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT")
>introduces CONFIG_EXPERT to carry the previous intent of CONFIG_EMBEDDED
>and just gives that intent a much better name. That has been clearly a good
>and long overdue renaming, and it is clearly an improvement to the kernel
>build configuration that has shown to help managing the kernel build
>configuration in the last decade.
>
>However, rather than bravely and radically just deleting CONFIG_EMBEDDED,
>this commit gives CONFIG_EMBEDDED a new intended semantics, but keeps it
>open for future contributors to implement that intended semantics:
>
> A new CONFIG_EMBEDDED option is added that automatically selects
> CONFIG_EXPERT when enabled and can be used in the future to isolate
> options that should only be considered for embedded systems (RISC
> architectures, SLOB, etc).
>
>Since then, this CONFIG_EMBEDDED implicitly had two purposes:
>
> - It can make even more options visible beyond what CONFIG_EXPERT makes
> visible. In other words, it may introduce another level of enabling the
> visibility of configuration options: always visible, visible with
> CONFIG_EXPERT and visible with CONFIG_EMBEDDED.
>
> - Set certain default values of some configurations differently,
> following the assumption that configuring a kernel build for an
> embedded system generally starts with a different set of default values
> compared to kernel builds for all other kind of systems.
>
>Considering the first purpose, at the point in time where CONFIG_EMBEDDED
>was renamed to CONFIG_EXPERT, CONFIG_EXPERT already made 130 more options
>become visible throughout all different menus for the kernel configuration.
>Over the last decade, this has gradually increased, so that currently, with
>CONFIG_EXPERT, roughly 170 more options become visible throughout all
>different menus for the kernel configuration. In comparison, currently with
>CONFIG_EMBEDDED enabled, just seven more options are visible, one in x86,
>one in arm, and five for the ChipIdea Highspeed Dual Role Controller.
>
>As the numbers suggest, these two levels of enabling the visibility of even
>more configuration options---beyond what CONFIG_EXPERT enables---never
>evolved to a good solution in the last decade. In other words, this
>additional level of visibility of configuration option with CONFIG_EMBEDDED
>compared to CONFIG_EXPERT has since its introduction never become really
>valuable. It requires quite some investigation to actually understand what
>is additionally visible and it does not differ significantly in complexity
>compared to just enabling CONFIG_EXPERT. This CONFIG_EMBEDDED---or any
>other config to show more detailed options beyond CONFIG_EXPERT---is
>unlikely to be valuable unless somebody puts significant effort in
>identifying how such visibility options can be properly split and creating
>clear criteria, when some config option is visible with CONFIG_EXPERT and
>when some config option is visible only with some further option enabled
>beyond CONFIG_EXPERT, such as CONFIG_EMBEDDED attempted to do. For now, it
>is much more reasonable to simply make those additional seven options that
>are visible with CONFIG_EMBEDDED visible with CONFIG_EXPERT, and then
>remove CONFIG_EMBEDDED. If anyone spends significant effort in structuring
>the visibility of config options, they may re-introduce suitable new
>config options simply as they see fit.
>
>Make the config X86_FEATURE_NAMES visible when CONFIG_EXPERT is enabled.
>
>Signed-off-by: Lukas Bulwahn <lukas.bulwahn@...il.com>
>Reviewed-by: Masahiro Yamada <masahiroy@...nel.org>
>Acked-by: Arnd Bergmann <arnd@...db.de>
>---
> arch/x86/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>index ce460d6b4e25..595f6696281c 100644
>--- a/arch/x86/Kconfig
>+++ b/arch/x86/Kconfig
>@@ -442,7 +442,7 @@ config SMP
> If you don't know what to do here, say N.
>
> config X86_FEATURE_NAMES
>- bool "Processor feature human-readable names" if EMBEDDED
>+ bool "Processor feature human-readable names" if EXPERT
> default y
> help
> This option compiles in a table of x86 feature bits and corresponding
You know it used to be named that, and it was changed exactly because it was a terrible name, right?
Powered by blists - more mailing lists