* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS
@ 2017-05-26 11:26 ` Leonard Crestez
0 siblings, 0 replies; 11+ messages in thread
From: Leonard Crestez @ 2017-05-26 11:26 UTC (permalink / raw)
To: linux-arm-kernel
This option was removed by "make savedefconfig" in
commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY")
This happened because CONFIG_DEBUG_FS was implicitly selected by
CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE
was enabled by default by commit 961518259b3b ("rcu: Enable RCU
tracepoints by default to aid in debugging")
Recently however CONFIG_RCU_TRACE was completely removed by
commit 6e74c237c410 ("rcu: Remove debugfs tracing")
The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on
linux-next since next-20170517. This is bad, DEBUG_FS is extremely
useful for kernel introspection and testing.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
---
Patch is against next-20170526. Applying it to shawnguo/imx/defconfig
and cycling via savedefconfig makes this diff go away.
Alternatively maybe DEBUG_FS itself could be made "default y if DEBUG_KERNEL"
or similar?
arch/arm/configs/imx_v6_v7_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index bf1e7e3..51ca814 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -381,6 +381,7 @@ CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_PROVE_LOCKING=y
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS @ 2017-05-26 11:26 ` Leonard Crestez 0 siblings, 0 replies; 11+ messages in thread From: Leonard Crestez @ 2017-05-26 11:26 UTC (permalink / raw) To: Shawn Guo Cc: Fabio Estevam, Dong Aisheng, linux-arm-kernel, Paul E . McKenney, Matt Fleming, Octavian Purdila, Stephen Rothwell, linux-kernel This option was removed by "make savedefconfig" in commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") This happened because CONFIG_DEBUG_FS was implicitly selected by CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE was enabled by default by commit 961518259b3b ("rcu: Enable RCU tracepoints by default to aid in debugging") Recently however CONFIG_RCU_TRACE was completely removed by commit 6e74c237c410 ("rcu: Remove debugfs tracing") The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on linux-next since next-20170517. This is bad, DEBUG_FS is extremely useful for kernel introspection and testing. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> --- Patch is against next-20170526. Applying it to shawnguo/imx/defconfig and cycling via savedefconfig makes this diff go away. Alternatively maybe DEBUG_FS itself could be made "default y if DEBUG_KERNEL" or similar? arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index bf1e7e3..51ca814 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -381,6 +381,7 @@ CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_15=m CONFIG_NLS_UTF8=y CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set CONFIG_PROVE_LOCKING=y -- 2.7.4 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS 2017-05-26 11:26 ` Leonard Crestez @ 2017-05-26 15:42 ` Paul E. McKenney -1 siblings, 0 replies; 11+ messages in thread From: Paul E. McKenney @ 2017-05-26 15:42 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > This option was removed by "make savedefconfig" in > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > This happened because CONFIG_DEBUG_FS was implicitly selected by > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > tracepoints by default to aid in debugging") > > Recently however CONFIG_RCU_TRACE was completely removed by > commit 6e74c237c410 ("rcu: Remove debugfs tracing") CONFIG_RCU_TRACE is still very much alive in its new home at kernel/rcu/Kconfig.debug: config RCU_TRACE bool "Enable tracing for RCU" depends on DEBUG_KERNEL default y if TREE_RCU select TRACE_CLOCK help This option enables additional tracepoints for ftrace-style event tracing. Say Y here if you want to enable RCU tracing Say N if you are unsure. That said, I need to make it default to "y" if PREEMPT_RCU as well as the current TREE_RCU. Would that help? Thanx, Paul > The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on > linux-next since next-20170517. This is bad, DEBUG_FS is extremely > useful for kernel introspection and testing. > > Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> > --- > > Patch is against next-20170526. Applying it to shawnguo/imx/defconfig > and cycling via savedefconfig makes this diff go away. > > Alternatively maybe DEBUG_FS itself could be made "default y if DEBUG_KERNEL" > or similar? > > arch/arm/configs/imx_v6_v7_defconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig > index bf1e7e3..51ca814 100644 > --- a/arch/arm/configs/imx_v6_v7_defconfig > +++ b/arch/arm/configs/imx_v6_v7_defconfig > @@ -381,6 +381,7 @@ CONFIG_NLS_ISO8859_1=y > CONFIG_NLS_ISO8859_15=m > CONFIG_NLS_UTF8=y > CONFIG_PRINTK_TIME=y > +CONFIG_DEBUG_FS=y > CONFIG_MAGIC_SYSRQ=y > # CONFIG_SCHED_DEBUG is not set > CONFIG_PROVE_LOCKING=y > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS @ 2017-05-26 15:42 ` Paul E. McKenney 0 siblings, 0 replies; 11+ messages in thread From: Paul E. McKenney @ 2017-05-26 15:42 UTC (permalink / raw) To: Leonard Crestez Cc: Shawn Guo, Fabio Estevam, Dong Aisheng, linux-arm-kernel, Matt Fleming, Octavian Purdila, Stephen Rothwell, linux-kernel On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > This option was removed by "make savedefconfig" in > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > This happened because CONFIG_DEBUG_FS was implicitly selected by > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > tracepoints by default to aid in debugging") > > Recently however CONFIG_RCU_TRACE was completely removed by > commit 6e74c237c410 ("rcu: Remove debugfs tracing") CONFIG_RCU_TRACE is still very much alive in its new home at kernel/rcu/Kconfig.debug: config RCU_TRACE bool "Enable tracing for RCU" depends on DEBUG_KERNEL default y if TREE_RCU select TRACE_CLOCK help This option enables additional tracepoints for ftrace-style event tracing. Say Y here if you want to enable RCU tracing Say N if you are unsure. That said, I need to make it default to "y" if PREEMPT_RCU as well as the current TREE_RCU. Would that help? Thanx, Paul > The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on > linux-next since next-20170517. This is bad, DEBUG_FS is extremely > useful for kernel introspection and testing. > > Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> > --- > > Patch is against next-20170526. Applying it to shawnguo/imx/defconfig > and cycling via savedefconfig makes this diff go away. > > Alternatively maybe DEBUG_FS itself could be made "default y if DEBUG_KERNEL" > or similar? > > arch/arm/configs/imx_v6_v7_defconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig > index bf1e7e3..51ca814 100644 > --- a/arch/arm/configs/imx_v6_v7_defconfig > +++ b/arch/arm/configs/imx_v6_v7_defconfig > @@ -381,6 +381,7 @@ CONFIG_NLS_ISO8859_1=y > CONFIG_NLS_ISO8859_15=m > CONFIG_NLS_UTF8=y > CONFIG_PRINTK_TIME=y > +CONFIG_DEBUG_FS=y > CONFIG_MAGIC_SYSRQ=y > # CONFIG_SCHED_DEBUG is not set > CONFIG_PROVE_LOCKING=y > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS 2017-05-26 15:42 ` Paul E. McKenney @ 2017-05-29 11:58 ` Leonard Crestez -1 siblings, 0 replies; 11+ messages in thread From: Leonard Crestez @ 2017-05-29 11:58 UTC (permalink / raw) To: linux-arm-kernel On Fri, 2017-05-26 at 08:42 -0700, Paul E. McKenney wrote: > On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > > > > This option was removed by "make savedefconfig" in > > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > > > This happened because CONFIG_DEBUG_FS was implicitly selected by > > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > > tracepoints by default to aid in debugging") > > > > Recently however CONFIG_RCU_TRACE was completely removed by > > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > CONFIG_RCU_TRACE is still very much alive in its new home at > kernel/rcu/Kconfig.debug: Sorry, what was removed is the dependency on DEBUG_FS. In particular this snippet: diff --git a/init/Kconfig b/init/Kconfig index 2aa14ff..3025383 100644 -- - a/init/Kconfig +++ b/init/Kconfig @@ -659,14 +659,6 @@ config RCU_FAST_NO_HZ ? ??????????Say N if you are unsure. ? -config TREE_RCU_TRACE -???????def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU ) -???????select DEBUG_FS -???????help -?????????This option provides tracing for the TREE_RCU and -?????????PREEMPT_RCU implementations, permitting Makefile to -?????????trivially select kernel/rcutree_trace.c. - ?config RCU_BOOST ????????bool "Enable RCU priority boosting" ????????depends on RT_MUTEXES && PREEMPT_RCU && RCU_EXPERT > config RCU_TRACE > bool "Enable tracing for RCU" > depends on DEBUG_KERNEL > default y if TREE_RCU > select TRACE_CLOCK > help > ??This option enables additional tracepoints for ftrace-style > ??event tracing. > > ??Say Y here if you want to enable RCU tracing > ??Say N if you are unsure. > > That said, I need to make it default to "y" if PREEMPT_RCU as well as > the current TREE_RCU.??Would that help? I don't think you can help unless you want to make RCU_TRACE depend on DEBUG_FS for no reason. The proper fix is to have DEBUG_FS inside the imx_v6_v7_defconfig. My problem is just an unfortunate accident with default dependencies and overzealous savedefconfig. As far as I understand after recent changes RCU_TRACE is now only useful with tracepoints. Shouldn't it depend on TRACEPOINTS in some way? It's still possible to compile with RCU_TRACE on and TRACEPOINTS off, is this intentional? It seems that when this happens you're just relying on tracepoint macros to expand to nothing. Fr example maybe RCU_TRACE should be "default y if (TREE_RCU && TRACEPOINTS); depends on TRACEPOINTS"? In theory you could also "select TRACEPOINTS" but then you would end up enabling TRACEPOINTS by default in all configurations that use TREE_RCU but don't explicitly disable RCU_TRACE. I'd say that if $SUBSYSTEM_DEBUG depends on $MAJOR_DEBUG_FEATURE it should try to avoid selecting $MAJOR_DEBUG_FEATURE by default if it's not otherwise enabled. As far as I can tell this is how RCU ended up indirectly pulling in DEBUG_FS and later unexpectedly removed it. Or I could be completely wrong, kconfig can be very confusing. --? Regards, Leonard ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS @ 2017-05-29 11:58 ` Leonard Crestez 0 siblings, 0 replies; 11+ messages in thread From: Leonard Crestez @ 2017-05-29 11:58 UTC (permalink / raw) To: paulmck Cc: Shawn Guo, Fabio Estevam, Dong Aisheng, linux-arm-kernel, Matt Fleming, Octavian Purdila, Stephen Rothwell, linux-kernel On Fri, 2017-05-26 at 08:42 -0700, Paul E. McKenney wrote: > On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > > > > This option was removed by "make savedefconfig" in > > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > > > This happened because CONFIG_DEBUG_FS was implicitly selected by > > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > > tracepoints by default to aid in debugging") > > > > Recently however CONFIG_RCU_TRACE was completely removed by > > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > CONFIG_RCU_TRACE is still very much alive in its new home at > kernel/rcu/Kconfig.debug: Sorry, what was removed is the dependency on DEBUG_FS. In particular this snippet: diff --git a/init/Kconfig b/init/Kconfig index 2aa14ff..3025383 100644 -- - a/init/Kconfig +++ b/init/Kconfig @@ -659,14 +659,6 @@ config RCU_FAST_NO_HZ Say N if you are unsure. -config TREE_RCU_TRACE - def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU ) - select DEBUG_FS - help - This option provides tracing for the TREE_RCU and - PREEMPT_RCU implementations, permitting Makefile to - trivially select kernel/rcutree_trace.c. - config RCU_BOOST bool "Enable RCU priority boosting" depends on RT_MUTEXES && PREEMPT_RCU && RCU_EXPERT > config RCU_TRACE > bool "Enable tracing for RCU" > depends on DEBUG_KERNEL > default y if TREE_RCU > select TRACE_CLOCK > help > This option enables additional tracepoints for ftrace-style > event tracing. > > Say Y here if you want to enable RCU tracing > Say N if you are unsure. > > That said, I need to make it default to "y" if PREEMPT_RCU as well as > the current TREE_RCU. Would that help? I don't think you can help unless you want to make RCU_TRACE depend on DEBUG_FS for no reason. The proper fix is to have DEBUG_FS inside the imx_v6_v7_defconfig. My problem is just an unfortunate accident with default dependencies and overzealous savedefconfig. As far as I understand after recent changes RCU_TRACE is now only useful with tracepoints. Shouldn't it depend on TRACEPOINTS in some way? It's still possible to compile with RCU_TRACE on and TRACEPOINTS off, is this intentional? It seems that when this happens you're just relying on tracepoint macros to expand to nothing. Fr example maybe RCU_TRACE should be "default y if (TREE_RCU && TRACEPOINTS); depends on TRACEPOINTS"? In theory you could also "select TRACEPOINTS" but then you would end up enabling TRACEPOINTS by default in all configurations that use TREE_RCU but don't explicitly disable RCU_TRACE. I'd say that if $SUBSYSTEM_DEBUG depends on $MAJOR_DEBUG_FEATURE it should try to avoid selecting $MAJOR_DEBUG_FEATURE by default if it's not otherwise enabled. As far as I can tell this is how RCU ended up indirectly pulling in DEBUG_FS and later unexpectedly removed it. Or I could be completely wrong, kconfig can be very confusing. -- Regards, Leonard ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS 2017-05-29 11:58 ` Leonard Crestez @ 2017-05-29 15:11 ` Paul E. McKenney -1 siblings, 0 replies; 11+ messages in thread From: Paul E. McKenney @ 2017-05-29 15:11 UTC (permalink / raw) To: linux-arm-kernel On Mon, May 29, 2017 at 02:58:36PM +0300, Leonard Crestez wrote: > On Fri, 2017-05-26 at 08:42 -0700, Paul E. McKenney wrote: > > On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > > > > > > This option was removed by "make savedefconfig" in > > > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > > > > > This happened because CONFIG_DEBUG_FS was implicitly selected by > > > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > > > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > > > tracepoints by default to aid in debugging") > > > > > > Recently however CONFIG_RCU_TRACE was completely removed by > > > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > > > CONFIG_RCU_TRACE is still very much alive in its new home at > > kernel/rcu/Kconfig.debug: > > Sorry, what was removed is the dependency on DEBUG_FS. In particular > this snippet: > > diff --git a/init/Kconfig b/init/Kconfig > index 2aa14ff..3025383 100644 > -- > - a/init/Kconfig > +++ b/init/Kconfig > @@ -659,14 +659,6 @@ config > RCU_FAST_NO_HZ > ? > ??????????Say N if you are unsure. > ? > -config > TREE_RCU_TRACE > -???????def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU ) > -???????select DEBUG_FS Ah, you are right. RCU no longer needs DEBUG_FS, so it no longer selects it. > -???????help > -?????????This option provides > tracing for the TREE_RCU and > -?????????PREEMPT_RCU implementations, > permitting Makefile to > -?????????trivially select > kernel/rcutree_trace.c. > - > ?config RCU_BOOST > ????????bool "Enable RCU > priority boosting" > ????????depends on RT_MUTEXES && PREEMPT_RCU && > RCU_EXPERT > > > config RCU_TRACE > > bool "Enable tracing for RCU" > > depends on DEBUG_KERNEL > > default y if TREE_RCU > > select TRACE_CLOCK > > help > > ??This option enables additional tracepoints for ftrace-style > > ??event tracing. > > > > ??Say Y here if you want to enable RCU tracing > > ??Say N if you are unsure. > > > > That said, I need to make it default to "y" if PREEMPT_RCU as well as > > the current TREE_RCU.??Would that help? > > I don't think you can help unless you want to make RCU_TRACE depend on > DEBUG_FS for no reason. The proper fix is to have DEBUG_FS inside the > imx_v6_v7_defconfig. > > My problem is just an unfortunate accident with default dependencies > and overzealous savedefconfig. Right you are! > As far as I understand after recent changes RCU_TRACE is now only > useful with tracepoints. Shouldn't it depend on TRACEPOINTS in some > way? It's still possible to compile with RCU_TRACE on and TRACEPOINTS > off, is this intentional? It seems that when this happens you're just > relying on tracepoint macros to expand to nothing. > > Fr example maybe RCU_TRACE should be "default y if (TREE_RCU && > TRACEPOINTS); depends on TRACEPOINTS"? > > In theory you could also "select TRACEPOINTS" but then you would end up > enabling TRACEPOINTS by default in all configurations that use TREE_RCU > but don't explicitly disable RCU_TRACE. > > I'd say that if $SUBSYSTEM_DEBUG depends on $MAJOR_DEBUG_FEATURE it > should try to avoid selecting $MAJOR_DEBUG_FEATURE by default if it's > not otherwise enabled. As far as I can tell this is how RCU ended up > indirectly pulling in DEBUG_FS and later unexpectedly removed it. > > Or I could be completely wrong, kconfig can be very confusing. Interesting questions! I will give them some thought. Perhaps TRACEPOINTS is accidentally being enabled for me just as DEBUG_FS was being accidentally enabled for you. ;-) Thanx, Paul ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS @ 2017-05-29 15:11 ` Paul E. McKenney 0 siblings, 0 replies; 11+ messages in thread From: Paul E. McKenney @ 2017-05-29 15:11 UTC (permalink / raw) To: Leonard Crestez Cc: Shawn Guo, Fabio Estevam, Dong Aisheng, linux-arm-kernel, Matt Fleming, Octavian Purdila, Stephen Rothwell, linux-kernel On Mon, May 29, 2017 at 02:58:36PM +0300, Leonard Crestez wrote: > On Fri, 2017-05-26 at 08:42 -0700, Paul E. McKenney wrote: > > On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > > > > > > This option was removed by "make savedefconfig" in > > > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > > > > > This happened because CONFIG_DEBUG_FS was implicitly selected by > > > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > > > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > > > tracepoints by default to aid in debugging") > > > > > > Recently however CONFIG_RCU_TRACE was completely removed by > > > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > > > CONFIG_RCU_TRACE is still very much alive in its new home at > > kernel/rcu/Kconfig.debug: > > Sorry, what was removed is the dependency on DEBUG_FS. In particular > this snippet: > > diff --git a/init/Kconfig b/init/Kconfig > index 2aa14ff..3025383 100644 > -- > - a/init/Kconfig > +++ b/init/Kconfig > @@ -659,14 +659,6 @@ config > RCU_FAST_NO_HZ > > Say N if you are unsure. > > -config > TREE_RCU_TRACE > - def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU ) > - select DEBUG_FS Ah, you are right. RCU no longer needs DEBUG_FS, so it no longer selects it. > - help > - This option provides > tracing for the TREE_RCU and > - PREEMPT_RCU implementations, > permitting Makefile to > - trivially select > kernel/rcutree_trace.c. > - > config RCU_BOOST > bool "Enable RCU > priority boosting" > depends on RT_MUTEXES && PREEMPT_RCU && > RCU_EXPERT > > > config RCU_TRACE > > bool "Enable tracing for RCU" > > depends on DEBUG_KERNEL > > default y if TREE_RCU > > select TRACE_CLOCK > > help > > This option enables additional tracepoints for ftrace-style > > event tracing. > > > > Say Y here if you want to enable RCU tracing > > Say N if you are unsure. > > > > That said, I need to make it default to "y" if PREEMPT_RCU as well as > > the current TREE_RCU. Would that help? > > I don't think you can help unless you want to make RCU_TRACE depend on > DEBUG_FS for no reason. The proper fix is to have DEBUG_FS inside the > imx_v6_v7_defconfig. > > My problem is just an unfortunate accident with default dependencies > and overzealous savedefconfig. Right you are! > As far as I understand after recent changes RCU_TRACE is now only > useful with tracepoints. Shouldn't it depend on TRACEPOINTS in some > way? It's still possible to compile with RCU_TRACE on and TRACEPOINTS > off, is this intentional? It seems that when this happens you're just > relying on tracepoint macros to expand to nothing. > > Fr example maybe RCU_TRACE should be "default y if (TREE_RCU && > TRACEPOINTS); depends on TRACEPOINTS"? > > In theory you could also "select TRACEPOINTS" but then you would end up > enabling TRACEPOINTS by default in all configurations that use TREE_RCU > but don't explicitly disable RCU_TRACE. > > I'd say that if $SUBSYSTEM_DEBUG depends on $MAJOR_DEBUG_FEATURE it > should try to avoid selecting $MAJOR_DEBUG_FEATURE by default if it's > not otherwise enabled. As far as I can tell this is how RCU ended up > indirectly pulling in DEBUG_FS and later unexpectedly removed it. > > Or I could be completely wrong, kconfig can be very confusing. Interesting questions! I will give them some thought. Perhaps TRACEPOINTS is accidentally being enabled for me just as DEBUG_FS was being accidentally enabled for you. ;-) Thanx, Paul ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS 2017-05-26 11:26 ` Leonard Crestez @ 2017-06-04 3:42 ` Shawn Guo -1 siblings, 0 replies; 11+ messages in thread From: Shawn Guo @ 2017-06-04 3:42 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > This option was removed by "make savedefconfig" in > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > This happened because CONFIG_DEBUG_FS was implicitly selected by > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > tracepoints by default to aid in debugging") > > Recently however CONFIG_RCU_TRACE was completely removed by > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > > The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on > linux-next since next-20170517. This is bad, DEBUG_FS is extremely > useful for kernel introspection and testing. > > Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Applied, thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS @ 2017-06-04 3:42 ` Shawn Guo 0 siblings, 0 replies; 11+ messages in thread From: Shawn Guo @ 2017-06-04 3:42 UTC (permalink / raw) To: Leonard Crestez Cc: Dong Aisheng, Stephen Rothwell, Matt Fleming, linux-kernel, Octavian Purdila, Fabio Estevam, Paul E . McKenney, linux-arm-kernel On Fri, May 26, 2017 at 02:26:06PM +0300, Leonard Crestez wrote: > This option was removed by "make savedefconfig" in > commit c5054a98bce4 ("ARM: imx_v6_v7_defconfig: Select SMSC_PHY") > > This happened because CONFIG_DEBUG_FS was implicitly selected by > CONFIG_TREE_RCU_TRACE which defaulted to true because CONFIG_RCU_TRACE > was enabled by default by commit 961518259b3b ("rcu: Enable RCU > tracepoints by default to aid in debugging") > > Recently however CONFIG_RCU_TRACE was completely removed by > commit 6e74c237c410 ("rcu: Remove debugfs tracing") > > The result is that imx_v6_v7_defconfig no longer includes DEBUG_FS on > linux-next since next-20170517. This is bad, DEBUG_FS is extremely > useful for kernel introspection and testing. > > Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Applied, thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <41ed3514ffb9a858445150a91933b96e12086d73.1575998907.git.leonard.crestez@nxp.com>]
[parent not found: <20191210204544.GA4078779@kroah.com>]
* Re: [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS [not found] ` <20191210204544.GA4078779@kroah.com> @ 2019-12-11 19:02 ` Leonard Crestez 0 siblings, 0 replies; 11+ messages in thread From: Leonard Crestez @ 2019-12-11 19:02 UTC (permalink / raw) To: Greg Kroah-Hartman, Geert Uytterhoeven Cc: Shawn Guo, Fabio Estevam, Aisheng Dong, Masahiro Yamada, Rafael J. Wysocki, Kusanagi Kouichi, kernel@pengutronix.de, dl-linux-imx, linux-kernel@vger.kernel.org On 10.12.2019 22:45, Greg Kroah-Hartman wrote: > On Tue, Dec 10, 2019 at 07:34:20PM +0200, Leonard Crestez wrote: >> This is currently off and that's not desirable: default imx config is >> meant to be generally useful for development and debugging. >> >> Running git bisect between v5.4 and v5.5-rc1 finds this started from >> commit 0e4a459f56c3 ("tracing: Remove unnecessary DEBUG_FS dependency") >> >> Explicit CONFIG_DEBUG_FS=y was earlier removed by >> commit c29d541f590c ("ARM: imx_v6_v7_defconfig: Remove unneeded options") >> >> A very similar fix was required before: >> commit 7e9eb6268809 ("ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS") >> >> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> >> --- >> arch/arm/configs/imx_v6_v7_defconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> Any suggestions to prevent such unexpected kconfig changes in the >> future? It might make sense for DEBUG_FS to be "default y". > > What? No, no system functionality should _EVER_ be dependant on debugfs > being enabled at all. > > If your kernel code requires this, then you are doing something really > really really wrong. > > Now if you just want to have a nice debugging system, then sure, enable > the option, but it is not anything that should ever be required by any > working system. I just want a nice debugging system, my concern is that kconfig rule adjustments sometimes unexpectedly break this. This issues apparently also affected shmobile: https://patchwork.kernel.org/patch/11278961/ Config options which can be manually controlled but are also "selected" from a whole bunch of places can get lost after savedefconfig Would it be reasonable to make all users "depend on" rather than "select" DEBUG_FS? Or perhaps DEBUG_FS could be "default y if DEBUG_KERNEL"? -- Regards, Leonard ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-12-11 19:02 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-26 11:26 [PATCH] ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS Leonard Crestez
2017-05-26 11:26 ` Leonard Crestez
2017-05-26 15:42 ` Paul E. McKenney
2017-05-26 15:42 ` Paul E. McKenney
2017-05-29 11:58 ` Leonard Crestez
2017-05-29 11:58 ` Leonard Crestez
2017-05-29 15:11 ` Paul E. McKenney
2017-05-29 15:11 ` Paul E. McKenney
2017-06-04 3:42 ` Shawn Guo
2017-06-04 3:42 ` Shawn Guo
[not found] <41ed3514ffb9a858445150a91933b96e12086d73.1575998907.git.leonard.crestez@nxp.com>
[not found] ` <20191210204544.GA4078779@kroah.com>
2019-12-11 19:02 ` Leonard Crestez
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.