Skip to content

Commit e9ca267

Browse files
joe-lawrenceIngo Molnar
authored andcommitted
sched/debug: Adjust newlines for better alignment
Scheduler debug stats include newlines that display out of alignment when prefixed by timestamps. For example, the dmesg utility: % echo t > /proc/sysrq-trigger % dmesg ... [ 83.124251] runnable tasks: S task PID tree-key switches prio wait-time sum-exec sum-sleep ----------------------------------------------------------------------------------------------------------- At the same time, some syslog utilities (like rsyslog by default) don't like the additional newlines control characters, saving lines like this to /var/log/messages: Mar 16 16:02:29 localhost kernel: #012runnable tasks:torvalds#12 S task PID tree-key ... ^^^^ ^^^^ Clean these up by moving newline characters to their own SEQ_printf invocation. This leaves the /proc/sched_debug unchanged, but brings the entire output into alignment when prefixed: % echo t > /proc/sysrq-trigger % dmesg ... [ 62.410368] runnable tasks: [ 62.410368] S task PID tree-key switches prio wait-time sum-exec sum-sleep [ 62.410369] ----------------------------------------------------------------------------------------------------------- [ 62.410369] I kworker/u12:0 5 1932.215593 332 120 0.000000 3.621252 0.000000 0 0 / and no escaped control characters from rsyslog in /var/log/messages: Mar 16 16:15:06 localhost kernel: runnable tasks: Mar 16 16:15:06 localhost kernel: S task PID tree-key ... Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1521484555-8620-3-git-send-email-joe.lawrence@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent a8c024c commit e9ca267

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

kernel/sched/debug.c

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -501,12 +501,12 @@ static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu)
501501
{
502502
struct task_struct *g, *p;
503503

504-
SEQ_printf(m,
505-
"\nrunnable tasks:\n"
506-
" S task PID tree-key switches prio"
507-
" wait-time sum-exec sum-sleep\n"
508-
"-------------------------------------------------------"
509-
"----------------------------------------------------\n");
504+
SEQ_printf(m, "\n");
505+
SEQ_printf(m, "runnable tasks:\n");
506+
SEQ_printf(m, " S task PID tree-key switches prio"
507+
" wait-time sum-exec sum-sleep\n");
508+
SEQ_printf(m, "-------------------------------------------------------"
509+
"----------------------------------------------------\n");
510510

511511
rcu_read_lock();
512512
for_each_process_thread(g, p) {
@@ -527,9 +527,11 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
527527
unsigned long flags;
528528

529529
#ifdef CONFIG_FAIR_GROUP_SCHED
530-
SEQ_printf(m, "\ncfs_rq[%d]:%s\n", cpu, task_group_path(cfs_rq->tg));
530+
SEQ_printf(m, "\n");
531+
SEQ_printf(m, "cfs_rq[%d]:%s\n", cpu, task_group_path(cfs_rq->tg));
531532
#else
532-
SEQ_printf(m, "\ncfs_rq[%d]:\n", cpu);
533+
SEQ_printf(m, "\n");
534+
SEQ_printf(m, "cfs_rq[%d]:\n", cpu);
533535
#endif
534536
SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "exec_clock",
535537
SPLIT_NS(cfs_rq->exec_clock));
@@ -595,9 +597,11 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
595597
void print_rt_rq(struct seq_file *m, int cpu, struct rt_rq *rt_rq)
596598
{
597599
#ifdef CONFIG_RT_GROUP_SCHED
598-
SEQ_printf(m, "\nrt_rq[%d]:%s\n", cpu, task_group_path(rt_rq->tg));
600+
SEQ_printf(m, "\n");
601+
SEQ_printf(m, "rt_rq[%d]:%s\n", cpu, task_group_path(rt_rq->tg));
599602
#else
600-
SEQ_printf(m, "\nrt_rq[%d]:\n", cpu);
603+
SEQ_printf(m, "\n");
604+
SEQ_printf(m, "rt_rq[%d]:\n", cpu);
601605
#endif
602606

603607
#define P(x) \
@@ -624,7 +628,8 @@ void print_dl_rq(struct seq_file *m, int cpu, struct dl_rq *dl_rq)
624628
{
625629
struct dl_bw *dl_bw;
626630

627-
SEQ_printf(m, "\ndl_rq[%d]:\n", cpu);
631+
SEQ_printf(m, "\n");
632+
SEQ_printf(m, "dl_rq[%d]:\n", cpu);
628633

629634
#define PU(x) \
630635
SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(dl_rq->x))

0 commit comments

Comments
 (0)