mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] : Fixes to make /proc/sched_debug better
@ 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
                   ` (2 more replies)
  0 siblings, 3 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

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-06-08  8:10 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
@ 2015-06-08  8:10 ` Srikar Dronamraju
  2015-06-19 17:59   ` [tip:sched/core] sched/debug: Properly format runnable tasks in / proc/sched_debug tip-bot for Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
  2 siblings, 1 reply; 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	[flat|nested] 7+ messages in thread

* [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug
  2015-06-08  8:10 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
@ 2015-06-08  8:10 ` Srikar Dronamraju
  2015-06-19 18:00   ` [tip:sched/core] sched/debug: Replace vruntime with wait_sum in / proc/sched_debug tip-bot for Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
  2 siblings, 1 reply; 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

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.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
 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	[flat|nested] 7+ messages in thread

* [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched
  2015-06-08  8:10 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
  2015-06-08  8:10 ` [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug Srikar Dronamraju
@ 2015-06-08  8:10 ` Srikar Dronamraju
  2015-06-19 18:00   ` [tip:sched/core] sched/debug: Add sum_sleep_runtime to /proc/<pid >/sched tip-bot for Srikar Dronamraju
  2 siblings, 1 reply; 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

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.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
---
 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	[flat|nested] 7+ messages in thread

* [tip:sched/core] sched/debug: Properly format runnable tasks in / proc/sched_debug
  2015-06-08  8:10 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
@ 2015-06-19 17:59   ` tip-bot for Srikar Dronamraju
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Srikar Dronamraju @ 2015-06-19 17:59 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: peterz, srikar, hpa, tglx, bp, torvalds, linux-kernel, mingo, akpm

Commit-ID:  33d6176eb12d1b0ae6d2f672b47367fd90726b91
Gitweb:     http://git.kernel.org/tip/33d6176eb12d1b0ae6d2f672b47367fd90726b91
Author:     Srikar Dronamraju <srikar@linux.vnet.ibm.com>
AuthorDate: Mon, 8 Jun 2015 13:40:39 +0530
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 19 Jun 2015 10:03:10 +0200

sched/debug: Properly format runnable tasks in /proc/sched_debug

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>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1433751041-11724-2-git-send-email-srikar@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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));
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tip:sched/core] sched/debug: Replace vruntime with wait_sum in / proc/sched_debug
  2015-06-08  8:10 ` [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug Srikar Dronamraju
@ 2015-06-19 18:00   ` tip-bot for Srikar Dronamraju
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Srikar Dronamraju @ 2015-06-19 18:00 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: srikar, peterz, akpm, torvalds, tglx, bp, mingo, linux-kernel, hpa

Commit-ID:  c5f3ab1c3b2e277cca6462415038dab02b4ad396
Gitweb:     http://git.kernel.org/tip/c5f3ab1c3b2e277cca6462415038dab02b4ad396
Author:     Srikar Dronamraju <srikar@linux.vnet.ibm.com>
AuthorDate: Mon, 8 Jun 2015 13:40:40 +0530
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 19 Jun 2015 10:03:11 +0200

sched/debug: Replace vruntime with wait_sum in /proc/sched_debug

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.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1433751041-11724-3-git-send-email-srikar@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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");
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tip:sched/core] sched/debug: Add sum_sleep_runtime to /proc/<pid >/sched
  2015-06-08  8:10 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
@ 2015-06-19 18:00   ` tip-bot for Srikar Dronamraju
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Srikar Dronamraju @ 2015-06-19 18:00 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: akpm, torvalds, linux-kernel, srikar, peterz, hpa, mingo, tglx, bp

Commit-ID:  82a0d2762699b95d6ce4114d00dc1865df9b0df3
Gitweb:     http://git.kernel.org/tip/82a0d2762699b95d6ce4114d00dc1865df9b0df3
Author:     Srikar Dronamraju <srikar@linux.vnet.ibm.com>
AuthorDate: Mon, 8 Jun 2015 13:40:41 +0530
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 19 Jun 2015 10:03:11 +0200

sched/debug: Add sum_sleep_runtime to /proc/<pid>/sched

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.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1433751041-11724-4-git-send-email-srikar@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-06-19 18:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-08  8:10 [PATCH 0/3] : Fixes to make /proc/sched_debug better Srikar Dronamraju
2015-06-08  8:10 ` [PATCH 1/3] sched:Properly format runnable tasks in /proc/sched_debug Srikar Dronamraju
2015-06-19 17:59   ` [tip:sched/core] sched/debug: Properly format runnable tasks in / proc/sched_debug tip-bot for Srikar Dronamraju
2015-06-08  8:10 ` [PATCH 2/3] sched:Replace vruntime with wait_sum in /proc/sched_debug Srikar Dronamraju
2015-06-19 18:00   ` [tip:sched/core] sched/debug: Replace vruntime with wait_sum in / proc/sched_debug tip-bot for Srikar Dronamraju
2015-06-08  8:10 ` [PATCH 3/3] sched:Add sum_sleep_runtime to /proc/<pid>/sched Srikar Dronamraju
2015-06-19 18:00   ` [tip:sched/core] sched/debug: Add sum_sleep_runtime to /proc/<pid >/sched tip-bot for Srikar Dronamraju

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome