Re: [PATCH v3 08/11] entry: Make CONFIG_DEBUG_ENTRY available outside x86
Mark Rutland writes: > 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? > For s390 that change should be fine.
Re: [PATCH v3 08/11] entry: Make CONFIG_DEBUG_ENTRY available outside x86
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 > --- > 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 >
[PATCH v3 08/11] entry: Make CONFIG_DEBUG_ENTRY available outside x86
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. Signed-off-by: Andy Lutomirski --- 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