[PATCH 0/5] sched/debug: decouple sched_stat tracepoints from CONFIG_SCHEDSTATS
From: Josh Poimboeuf
Date: Fri Jun 17 2016 - 13:45:56 EST
NOTE: I didn't include any performance numbers because I wasn't able to
get consistent results. I tried the following on a Xeon E5-2420 v2 CPU:
$ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo -n performance > $i; done
$ echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
$ echo 100 > /sys/devices/system/cpu/intel_pstate/min_perf_pct
$ echo 0 > /proc/sys/kernel/nmi_watchdog
$ taskset 0x10 perf stat -n -r10 perf bench sched pipe -l 1000000
I was going to post the numbers from that, both with and without
SCHEDSTATS, but then when I tried to repeat the test on a different day,
the results were surprisingly different, with different conclusions.
So any advice on measuring scheduler performance would be appreciated...
Josh Poimboeuf (5):
sched/debug: rename and move enqueue_sleeper()
sched/debug: schedstat macro cleanup
sched/debug: 'schedstat_val()' -> 'schedstat_val_or_zero()'
sched/debug: remove several CONFIG_SCHEDSTATS guards
sched/debug: decouple 'sched_stat_*' tracepoints' from
CONFIG_SCHEDSTATS
include/linux/sched.h | 11 +-
kernel/latencytop.c | 2 -
kernel/profile.c | 5 -
kernel/sched/core.c | 59 ++++------
kernel/sched/debug.c | 104 +++++++++--------
kernel/sched/fair.c | 290 ++++++++++++++++++++---------------------------
kernel/sched/idle_task.c | 2 +-
kernel/sched/stats.h | 24 ++--
lib/Kconfig.debug | 1 -
9 files changed, 220 insertions(+), 278 deletions(-)
--
2.4.11