* [PATCH 0/3] : Fixes to make /proc/sched_debug better
@ 2015-05-28 10:26 Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-05-28 10:26 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Srikar Dronamraju
Current /proc/sched_debug can be improved by
- Improving the format of runnable tasks when CONFIG_SCHEDSTATS is not enabled.
- Adding sum_exec info even when CONFIG_SCHEDSTATS is not enabled.
- Removing duplicate information from runnable tasks.
- Adding wait-time info.
Further we could collect sum_sleep_time in /proc/<pid>/schedstat.
Current /proc/sched_debug when CONFIG_SCHEDSTATS is not enabled
runnable tasks:
task PID tree-key switches prio exec-runtime sum-exec sum-sleep
----------------------------------------------------------------------------------------------------------
watchdog/31 223 -11.998676 211 0 0 0 0.000000 0.000000 0.000000 0 /
migration/31 224 0.000000 140 0 0 0 0.000000 0.000000 0.000000 0 /
ksoftirqd/31 225 -13.047772 3 120 0 0 0.000000 0.000000 0.000000 0 /
kworker/31:0H 227 3377.042323 9 100 0 0 0.000000 0.000000 0.000000 0 /
kworker/31:1 286 3306.213547 146 120 0 0 0.000000 0.000000 0.000000 0 /
kworker/u129:3 1476 3250.397029 2 100 0 0 0.000000 0.000000 0.000000 0 /
systemd-logind 1548 0.110774 182 120 0 0 0.000000 0.000000 0.000000 0 /autogroup-60
rtas_errd 1577 0.634662 3 120 0 0 0.000000 0.000000 0.000000 0 /autogroup-66
kworker/31:2 1646 10684.860325 110 120 0 0 0.000000 0.000000 0.000000 0 /
kworker/31:1H 1796 9096.988236 9 100 0 0 0.000000 0.000000 0.000000 0 /
Same after this patchset:
runnable tasks:
task PID tree-key switches prio wait-time sum-exec sum-sleep
----------------------------------------------------------------------------------------------------------
watchdog/31 223 -11.998592 60 0 0.000000 0.944690 0.000000 0 /
migration/31 224 0.000000 161 0 0.000000 0.960574 0.000000 0 /
ksoftirqd/31 225 4907.154938 4 120 0.000000 0.005390 0.000000 0 /
kworker/31:0 226 31.071368 15 120 0.000000 0.089008 0.000000 0 /
kworker/31:0H 227 13566.695695 12 100 0.000000 0.080894 0.000000 0 /
kworker/31:1 467 13596.403449 316 120 0.000000 2.314132 0.000000 0 /
auditd 1513 0.256353 992 116 0.000000 20.936048 0.000000 0 /autogroup-46
kworker/31:1H 1804 13566.698706 10 100 0.000000 0.160330 0.000000 0 /
kworker/31:2H 14303 13589.006998 8 100 0.000000 0.085060 0.000000 0 /
Current /proc/sched_debug when CONFIG_SCHEDSTATS is set
runnable tasks:
task PID tree-key switches prio exec-runtime sum-exec sum-sleep
----------------------------------------------------------------------------------------------------------
watchdog/159 805 -11.997308 68929 0 -11.997308 386.355640 0.001442 17 /
migration/159 806 0.000000 5 0 0.000000 0.541712 0.001364 17 /
ksoftirqd/159 807 -13.046724 3 120 -13.046724 0.003454 0.001356 17 /
kworker/159:0 808 -6.686082 42 120 -6.686082 2.364758 831990.032194 17 /
kworker/159:0H 809 -1.048310 4 100 -1.048310 0.024540 394.824356 17 /
kworker/159:1 6939 14.392296 836 120 14.392296 15.468298 273966793.171550 17 /
Same after this patchset:
runnable tasks:
task PID tree-key switches prio wait-time sum-exec sum-sleep
----------------------------------------------------------------------------------------------------------
watchdog/31 223 -11.998730 29 0 0.016660 0.277190 0.001028 0 /
migration/31 224 0.000000 163 0 0.000530 1.089348 0.000994 0 /
ksoftirqd/31 225 -13.047768 3 120 0.014756 0.001952 0.001164 0 /
kworker/31:0 226 209.731324 17 120 0.755458 0.096596 17888.805854 0 /
kworker/31:0H 227 5556.434079 9 100 0.015650 0.083778 34507.103450 0 /
kworker/31:1 465 223.834529 21 120 0.012962 0.163522 17495.280072 0 /
kworker/31:2 712 10136.506903 158 120 5.358470 2.269444 81162.182416 0 /
kworker/31:1H 5904 10047.528224 6 100 0.028400 0.207288 20745.582406 0 /
Srikar Dronamraju (3):
sched:Properly format runnable tasks in /proc/sched_debug
sched:Replace vruntime with wait_sum in /proc/sched_debug
sched:Add sum_sleep_runtime to /proc/<pid>/sched
kernel/sched/debug.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug
2015-05-28 10:26 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
@ 2015-05-28 10:26 ` Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 2/3] sched:Replace vruntime with wait_sum " Srikar Dronamraju
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-05-28 10:26 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Srikar Dronamraju
With !CONFIG_SCHEDSTATS, runnable tasks in /proc/sched_debug has too
many columns than required. Fix this by printing appropriate columns.
While at this, print sum_exec_runtime, since this information is
available even in !CONFIG_SCHEDSTATS case.
---
kernel/sched/debug.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index a245c1f..59cb603 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -136,8 +136,10 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p)
SPLIT_NS(p->se.sum_exec_runtime),
SPLIT_NS(p->se.statistics.sum_sleep_runtime));
#else
- SEQ_printf(m, "%15Ld %15Ld %15Ld.%06ld %15Ld.%06ld %15Ld.%06ld",
- 0LL, 0LL, 0LL, 0L, 0LL, 0L, 0LL, 0L);
+ SEQ_printf(m, "%9Ld.%06ld %9Ld.%06ld %9Ld.%06ld",
+ 0LL, 0L,
+ SPLIT_NS(p->se.sum_exec_runtime),
+ 0LL, 0L);
#endif
#ifdef CONFIG_NUMA_BALANCING
SEQ_printf(m, " %d", task_node(p));
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug
2015-05-28 10:26 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
@ 2015-05-28 10:26 ` Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
2015-06-08 7:06 ` [PATCH 0/3] : Fixes to make /proc/sched_debug better Peter Zijlstra
3 siblings, 0 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-05-28 10:26 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Srikar Dronamraju
Within runnable tasks in /proc/sched_debug, vruntime is printed twice,
once as tree-key and again as exec-runtime.
Since exec-runtime isnt populated in !CONFIG_SCHEDSTATS, use this field
to print wait_sum.
---
kernel/sched/debug.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 59cb603..7dc547e 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -132,7 +132,7 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p)
p->prio);
#ifdef CONFIG_SCHEDSTATS
SEQ_printf(m, "%9Ld.%06ld %9Ld.%06ld %9Ld.%06ld",
- SPLIT_NS(p->se.vruntime),
+ SPLIT_NS(p->se.statistics.wait_sum),
SPLIT_NS(p->se.sum_exec_runtime),
SPLIT_NS(p->se.statistics.sum_sleep_runtime));
#else
@@ -158,7 +158,7 @@ static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu)
SEQ_printf(m,
"\nrunnable tasks:\n"
" task PID tree-key switches prio"
- " exec-runtime sum-exec sum-sleep\n"
+ " wait-time sum-exec sum-sleep\n"
"------------------------------------------------------"
"----------------------------------------------------\n");
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched
2015-05-28 10:26 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 2/3] sched:Replace vruntime with wait_sum " Srikar Dronamraju
@ 2015-05-28 10:26 ` Srikar Dronamraju
2015-06-08 7:06 ` [PATCH 0/3] : Fixes to make /proc/sched_debug better Peter Zijlstra
3 siblings, 0 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-05-28 10:26 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Srikar Dronamraju
When CONFIG_SCHEDSTATS is enabled, /proc/<pid>/sched prints almost all
sched statistics except sum_sleep_runtime. Since sum_sleep_runtime is
a good info to collect, add this it to /proc/<pid>/sched.
---
kernel/sched/debug.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 7dc547e..704683c 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -584,6 +584,7 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m)
nr_switches = p->nvcsw + p->nivcsw;
#ifdef CONFIG_SCHEDSTATS
+ PN(se.statistics.sum_sleep_runtime);
PN(se.statistics.wait_start);
PN(se.statistics.sleep_start);
PN(se.statistics.block_start);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] : Fixes to make /proc/sched_debug better
2015-05-28 10:26 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
` (2 preceding siblings ...)
2015-05-28 10:26 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
@ 2015-06-08 7:06 ` Peter Zijlstra
2015-06-08 8:11 ` Srikar Dronamraju
3 siblings, 1 reply; 7+ messages in thread
From: Peter Zijlstra @ 2015-06-08 7:06 UTC (permalink / raw)
To: Srikar Dronamraju; +Cc: Ingo Molnar, linux-kernel
On Thu, May 28, 2015 at 03:56:16PM +0530, Srikar Dronamraju wrote:
>
> Srikar Dronamraju (3):
> sched:Properly format runnable tasks in /proc/sched_debug
> sched:Replace vruntime with wait_sum in /proc/sched_debug
> sched:Add sum_sleep_runtime to /proc/<pid>/sched
All patches are lacking a Signed-off-by, can't do anything with them.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] : Fixes to make /proc/sched_debug better
2015-06-08 7:06 ` [PATCH 0/3] : Fixes to make /proc/sched_debug better Peter Zijlstra
@ 2015-06-08 8:11 ` Srikar Dronamraju
0 siblings, 0 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-06-08 8:11 UTC (permalink / raw)
To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel
* Peter Zijlstra <peterz@infradead.org> [2015-06-08 09:06:40]:
> On Thu, May 28, 2015 at 03:56:16PM +0530, Srikar Dronamraju wrote:
> >
> > Srikar Dronamraju (3):
> > sched:Properly format runnable tasks in /proc/sched_debug
> > sched:Replace vruntime with wait_sum in /proc/sched_debug
> > sched:Add sum_sleep_runtime to /proc/<pid>/sched
>
> All patches are lacking a Signed-off-by, can't do anything with them.
>
Sorry about this. I am resending this again.
Thanks for bringing this up.
--
Thanks and Regards
Srikar Dronamraju
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug
2015-06-08 8:10 Srikar Dronamraju
@ 2015-06-08 8:10 ` Srikar Dronamraju
0 siblings, 0 replies; 7+ messages in thread
From: Srikar Dronamraju @ 2015-06-08 8:10 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Srikar Dronamraju
With !CONFIG_SCHEDSTATS, runnable tasks in /proc/sched_debug has too
many columns than required. Fix this by printing appropriate columns.
While at this, print sum_exec_runtime, since this information is
available even in !CONFIG_SCHEDSTATS case.
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
kernel/sched/debug.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index a245c1f..59cb603 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -136,8 +136,10 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p)
SPLIT_NS(p->se.sum_exec_runtime),
SPLIT_NS(p->se.statistics.sum_sleep_runtime));
#else
- SEQ_printf(m, "%15Ld %15Ld %15Ld.%06ld %15Ld.%06ld %15Ld.%06ld",
- 0LL, 0LL, 0LL, 0L, 0LL, 0L, 0LL, 0L);
+ SEQ_printf(m, "%9Ld.%06ld %9Ld.%06ld %9Ld.%06ld",
+ 0LL, 0L,
+ SPLIT_NS(p->se.sum_exec_runtime),
+ 0LL, 0L);
#endif
#ifdef CONFIG_NUMA_BALANCING
SEQ_printf(m, " %d", task_node(p));
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-06-08 8:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-28 10:26 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 2/3] sched:Replace vruntime with wait_sum " Srikar Dronamraju
2015-05-28 10:26 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
2015-06-08 7:06 ` [PATCH 0/3] : Fixes to make /proc/sched_debug better Peter Zijlstra
2015-06-08 8:11 ` Srikar Dronamraju
2015-06-08 8:10 Srikar Dronamraju
2015-06-08 8:10 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).