* [PATCH] rcu: Enable RCU tracepoints by default to aid in debugging
@ 2016-12-23 15:17 Matt Fleming
2016-12-23 17:16 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: Matt Fleming @ 2016-12-23 15:17 UTC (permalink / raw)
To: Paul E . McKenney; +Cc: linux-kernel, Matt Fleming, Mel Gorman
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>
---
lib/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index a6c8db1d62f6..7fe1ff001792 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1431,6 +1431,7 @@ config RCU_CPU_STALL_TIMEOUT
config RCU_TRACE
bool "Enable tracing for RCU"
depends on DEBUG_KERNEL
+ default y if TREE_RCU
select TRACE_CLOCK
help
This option provides tracing in RCU which presents stats
--
2.10.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] rcu: Enable RCU tracepoints by default to aid in debugging
2016-12-23 15:17 [PATCH] rcu: Enable RCU tracepoints by default to aid in debugging Matt Fleming
@ 2016-12-23 17:16 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2016-12-23 17:16 UTC (permalink / raw)
To: Matt Fleming; +Cc: linux-kernel, Mel Gorman
On Fri, Dec 23, 2016 at 03:17:53PM +0000, Matt Fleming wrote:
> 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>
Queued for testing and review, thank you!
Thanx, Paul
> ---
> lib/Kconfig.debug | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index a6c8db1d62f6..7fe1ff001792 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1431,6 +1431,7 @@ config RCU_CPU_STALL_TIMEOUT
> config RCU_TRACE
> bool "Enable tracing for RCU"
> depends on DEBUG_KERNEL
> + default y if TREE_RCU
> select TRACE_CLOCK
> help
> This option provides tracing in RCU which presents stats
> --
> 2.10.0
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-12-23 17:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-23 15:17 [PATCH] rcu: Enable RCU tracepoints by default to aid in debugging Matt Fleming
2016-12-23 17:16 ` Paul E. McKenney
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.