On Thu, Mar 04, 2021 at 11:06:01AM -0800, Andy Lutomirski wrote:
> In principle, the generic entry code is generic, and the goal is to use it
> in many architectures once it settles down more.  Move CONFIG_DEBUG_ENTRY
> to the generic config so that it can be used in the generic entry code and
> not just in arch/x86.
> 
> Disable it on arm64.  arm64 uses some but not all of the kentry
> code, and trying to debug the resulting state machine will be painful.
> arm64 can turn it back on when it starts using the entire generic
> path.

Can we make this depend on CONFIG_GENERIC_ENTRY instead of !ARM64?
That'd be more in line with "use the generic entry code, get the generic
functionality". Note that arm64 doesn't select CONFIG_GENERIC_ENTRY
today.

I see that s390 selects CONFIG_GENERIC_ENTRY, and either way this will
enable DEBUG_ENTRY for them, so it'd ve worth checking whether this is
ok for them.

Sven, thoughts?

Thanks,
Mark.

> 
> Signed-off-by: Andy Lutomirski <l...@kernel.org>
> ---
>  arch/x86/Kconfig.debug | 10 ----------
>  lib/Kconfig.debug      | 11 +++++++++++
>  2 files changed, 11 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index 80b57e7f4947..a5a52133730c 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -170,16 +170,6 @@ config CPA_DEBUG
>       help
>         Do change_page_attr() self-tests every 30 seconds.
>  
> -config DEBUG_ENTRY
> -     bool "Debug low-level entry code"
> -     depends on DEBUG_KERNEL
> -     help
> -       This option enables sanity checks in x86's low-level entry code.
> -       Some of these sanity checks may slow down kernel entries and
> -       exits or otherwise impact performance.
> -
> -       If unsure, say N.
> -
>  config DEBUG_NMI_SELFTEST
>       bool "NMI Selftest"
>       depends on DEBUG_KERNEL && X86_LOCAL_APIC
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 7937265ef879..76549c8afa8a 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1411,6 +1411,17 @@ config CSD_LOCK_WAIT_DEBUG
>  
>  endmenu # lock debugging
>  
> +config DEBUG_ENTRY
> +     bool "Debug low-level entry code"
> +     depends on DEBUG_KERNEL
> +     depends on !ARM64
> +     help
> +       This option enables sanity checks in the low-level entry code.
> +       Some of these sanity checks may slow down kernel entries and
> +       exits or otherwise impact performance.
> +
> +       If unsure, say N.
> +
>  config TRACE_IRQFLAGS
>       depends on TRACE_IRQFLAGS_SUPPORT
>       bool
> -- 
> 2.29.2
> 

Reply via email to