[RFC][PATCH 0/4] sched: Display deadline bandwidth and other SCHED_DEBUG clean up

From: Steven Rostedt
Date: Mon Feb 01 2016 - 15:27:51 EST



I'm starting to play with SCHED_DEADLINE a bit and I'm able to cause
a bandwidth "leak". Then I realized there's no way to examine what bandwidths
are enabled on which CPUs. I decided to create a debugfs file that would
display the deadline bandwidths. I created a debugfs/sched/ directory to
place a "deadline_bw" file that displays the bandwidths of the CPUs in the
following format:

# cat /sys/kernel/debug/sched/deadline_bw
CPU[0]:
bw: 996147
total_bw: 0
CPU[1]:
bw: 996147
total_bw: 0
CPU[2]:
bw: 996147
total_bw: 0
CPU[3]:
bw: 996147
total_bw: 0
CPU[4]:
bw: 996147
total_bw: 0
CPU[5]:
bw: 996147
total_bw: 0
CPU[6]:
bw: 996147
total_bw: 0
CPU[7]:
bw: 996147
total_bw: 0

I created the debugfs/sched directory in case there's future scheduling
data we would like to add, instead of cluttering up the debugfs root.
There's already a sched_features file, but I did not want to move it
because other tools may need it in its current location.

Before adding this code, I also realized there was a bit of
SCHED_DEBUG code in the kernel/sched/core.c file, and decided to move that
to kernel/sched/debug.c to clean the core.c file up a bit. Those patches
are mostly orthognal to the deadline_bw file, but decided to group them
together here.


Steven Rostedt (Red Hat) (4):
sched: Move sched_feature file setup into debug.c
sched: Move sched_domain_sysctl to debug.c
sched: Move sched_domain_debug into debug.c
sched: Add debugfs/sched/deadline_bw file to show current bandwidths

----
kernel/sched/core.c | 434 +------------------------------------------
kernel/sched/debug.c | 511 +++++++++++++++++++++++++++++++++++++++++++++++++++
kernel/sched/sched.h | 30 +++
3 files changed, 542 insertions(+), 433 deletions(-)