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(-)

Reply via email to