aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <matt@codeblueprint.co.uk>2016-12-23 10:17:53 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-01-23 14:37:13 -0500
commit961518259b3ba79a3cfc634794dc12ea9565dac4 (patch)
treece1608e8528dc2e6830d460b797fa5703ac0c04c
parentfdbb9b315ce40922f3a8d2b8352776d7bc963d84 (diff)
rcu: Enable RCU tracepoints by default to aid in debugging
While debugging a performance issue I needed to understand why RCU sofitrqs were firing so frequently. Unfortunately, the RCU callback tracepoints are hidden behind CONFIG_RCU_TRACE which defaults to off in the upstream kernel and is likely to also be disabled in enterprise distribution configs. Enable it by default for CONFIG_TREE_RCU. However, we must keep it disabled for tiny RCU, because it would otherwise pull in a large amount of code that would make tiny RCU less than tiny. I ran some file system metadata intensive workloads (git checkout, FS-Mark) on a variety of machines with this patch and saw no detectable change in performance. Cc: Mel Gorman <mgorman@techsingularity.net> Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r--lib/Kconfig.debug1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b06848a104e6..5655bd95919a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1450,6 +1450,7 @@ config RCU_CPU_STALL_TIMEOUT
1450config RCU_TRACE 1450config RCU_TRACE
1451 bool "Enable tracing for RCU" 1451 bool "Enable tracing for RCU"
1452 depends on DEBUG_KERNEL 1452 depends on DEBUG_KERNEL
1453 default y if TREE_RCU
1453 select TRACE_CLOCK 1454 select TRACE_CLOCK
1454 help 1455 help
1455 This option provides tracing in RCU which presents stats 1456 This option provides tracing in RCU which presents stats