Re: [PATCH 1/1] sched: Make schedstats a runtime tunable that is disabled by default v4

From: Ingo Molnar
Date: Wed Feb 03 2016 - 06:29:36 EST



* Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote:

> Changelog since v3
> o Force enable stats during profiling and latencytop
>
> 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. [...]

Hm, which shared stats are those? I think we should really fix those as well:
those shared stats should be percpu collected as well, with no extra cache misses
in any scheduler fast path.

Thanks,

Ingo