diff options
author | Matt Fleming <matt@codeblueprint.co.uk> | 2016-12-23 10:17:53 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-01-23 14:37:13 -0500 |
commit | 961518259b3ba79a3cfc634794dc12ea9565dac4 (patch) | |
tree | ce1608e8528dc2e6830d460b797fa5703ac0c04c | |
parent | fdbb9b315ce40922f3a8d2b8352776d7bc963d84 (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.debug | 1 |
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 | |||
1450 | config RCU_TRACE | 1450 | config 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 |