[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160201141758.GA27318@codeblueprint.co.uk>
Date: Mon, 1 Feb 2016 14:17:58 +0000
From: Matt Fleming <matt@...eblueprint.co.uk>
To: Mel Gorman <mgorman@...hsingularity.net>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Mike Galbraith <mgalbraith@...e.de>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/1] sched: Make schedstats a runtime tunable that is
disabled by default v3
On Mon, 01 Feb, at 09:37:06AM, Mel Gorman wrote:
> Changelog since V2
> o Print stats that are not related to schedstat
> o Reintroduce a static inline for update_stats_dequeue
>
> Changelog since V1
> o Introduce schedstat_enabled and address Ingo's feedback
> o More schedstat-only paths eliminated, particularly ttwu_stat
>
> schedstats is very useful during debugging and performance tuning but it
> incurs overhead. As such, even though it can be disabled at build time,
> it is often enabled as the information is useful. This patch adds a
> kernel command-line and sysctl tunable to enable or disable schedstats on
> demand. It is disabled by default as someone who knows they need it can
> also learn to enable it when necessary.
>
> The benefits are workload-dependent but when it gets down to it, the
> difference will be whether cache misses are incurred updating the shared
> stats or not. These measurements were taken from a 48-core 2-socket machine
> with Xeon(R) E5-2670 v3 cpus although they were also tested on a single
> socket machine 8-core machine with Intel i7-3770 processors.
[...]
> The gain is small but it'll depend on the CPU and the workload whether
> this patch makes a different. However, it stands to reason that doing
> less work in the scheduler is a good thing. The downside is that the
> lack of schedstats and tracepoints will be surprising to experts doing
> performance analysis until they find the existance of the schedstats=
> parameter or schedstats sysctl.
>
> Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
> ---
> Documentation/kernel-parameters.txt | 5 ++
> Documentation/sysctl/kernel.txt | 8 +++
> include/linux/sched/sysctl.h | 4 ++
> kernel/sched/core.c | 62 +++++++++++++++++++++-
> kernel/sched/debug.c | 102 +++++++++++++++++++-----------------
> kernel/sched/fair.c | 90 +++++++++++++++++++------------
> kernel/sched/sched.h | 1 +
> kernel/sched/stats.h | 8 +--
> kernel/sysctl.c | 11 ++++
> 9 files changed, 204 insertions(+), 87 deletions(-)
Reviewed-by: Matt Fleming <matt@...eblueprint.co.uk>
Powered by blists - more mailing lists