The current runnable tasks output looks like: runnable tasks: S task PID tree-key switches prio wait-time sum-exec sum-sleep ------------------------------------------------------------------------------------------------------------- Ikworker/R-rcu_g 4 0.129049 E 0.620179 0.750000 0.002920 2 100 0.000000 0.002920 0.000000 0.000000 0 0 / Ikworker/R-sync_ 5 0.125328 E 0.624147 0.750000 0.001840 2 100 0.000000 0.001840 0.000000 0.000000 0 0 / Ikworker/R-slub_ 6 0.120835 E 0.628680 0.750000 0.001800 2 100 0.000000 0.001800 0.000000 0.000000 0 0 / Ikworker/R-netns 7 0.114294 E 0.634701 0.750000 0.002400 2 100 0.000000 0.002400 0.000000 0.000000 0 0 / I kworker/0:1 9 508.781746 E 511.754666 3.000000 151.575240 224 120 0.000000 151.575240 0.000000 0.000000 0 0 / Which is messy. Remove the duplicate printing of sum_exec_runtime and tidy up the layout to make it look like: runnable tasks: S task PID vruntime eligible deadline slice sum-exec switches prio wait-time sum-sleep sum-block node group-id group-path ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- I kworker/0:3 1698 295.001459 E 297.977619 3.000000 38.862920 9 120 0.000000 0.000000 0.000000 0 0 / I kworker/0:4 1702 278.026303 E 281.026303 3.000000 9.918760 3 120 0.000000 0.000000 0.000000 0 0 / S NetworkManager 2646 0.377936 E 2.598104 3.000000 98.535880 314 120 0.000000 0.000000 0.000000 0 0 /system.slice/NetworkManager.service S virtqemud 2689 0.541016 E 2.440104 3.000000 50.967960 80 120 0.000000 0.000000 0.000000 0 0 /system.slice/virtqemud.service S gsd-smartcard 3058 73.604144 E 76.475904 3.000000 74.033320 88 120 0.000000 0.000000 0.000000 0 0 /user.slice/user-42.slice/session-c1.scope
Showing the changes to kernel/sched/debug.c (1 of 1 file). Show all
Unified · Split
| @@ -739,7 +739,7 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p) · 738 unmodified lines | ||
| 739 | 739 | else |
| 740 | 740 | SEQ_printf(m, " %c", task_state_to_char(p)); |
| 741 | 741 | |
| 742 | − SEQ_printf(m, "%15s %5d %9Ld.%06ld %c %9Ld.%06ld %c %9Ld.%06ld %9Ld.%06ld %9Ld %5d ", | |
| 742 | + SEQ_printf(m, " %15s %5d %9Ld.%06ld %c %9Ld.%06ld %c %9Ld.%06ld %9Ld.%06ld %9Ld %5d ", | |
| 743 | 743 | p->comm, task_pid_nr(p), |
| 744 | 744 | SPLIT_NS(p->se.vruntime), |
| 745 | 745 | entity_eligible(cfs_rq_of(&p->se), &p->se) ? 'E' : 'N', |
| @@ -750,17 +750,16 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p) · 4 unmodified lines | ||
| 750 | 750 | (long long)(p->nvcsw + p->nivcsw), |
| 751 | 751 | p->prio); |
| 752 | 752 | |
| 753 | − SEQ_printf(m, "%9lld.%06ld %9lld.%06ld %9lld.%06ld %9lld.%06ld", | |
| 753 | + SEQ_printf(m, "%9lld.%06ld %9lld.%06ld %9lld.%06ld", | |
| 754 | 754 | SPLIT_NS(schedstat_val_or_zero(p->stats.wait_sum)), |
| 755 | − SPLIT_NS(p->se.sum_exec_runtime), | |
| 756 | 755 | SPLIT_NS(schedstat_val_or_zero(p->stats.sum_sleep_runtime)), |
| 757 | 756 | SPLIT_NS(schedstat_val_or_zero(p->stats.sum_block_runtime))); |
| 758 | 757 | |
| 759 | 758 | #ifdef CONFIG_NUMA_BALANCING |
| 760 | − SEQ_printf(m, " %d %d", task_node(p), task_numa_group_id(p)); | |
| 759 | + SEQ_printf(m, " %d %d", task_node(p), task_numa_group_id(p)); | |
| 761 | 760 | #endif |
| 762 | 761 | #ifdef CONFIG_CGROUP_SCHED |
| 763 | − SEQ_printf_task_group_path(m, task_group(p), " %s") | |
| 762 | + SEQ_printf_task_group_path(m, task_group(p), " %s") | |
| 764 | 763 | #endif |
| 765 | 764 | |
| 766 | 765 | SEQ_printf(m, "\n"); |
| @@ -772,10 +771,26 @@ static void print_rq(struct seq_file *m, struct rq *rq, int rq_cpu) · 5 unmodified lines | ||
| 772 | 771 | |
| 773 | 772 | SEQ_printf(m, "\n"); |
| 774 | 773 | SEQ_printf(m, "runnable tasks:\n"); |
| 775 | − SEQ_printf(m, " S task PID tree-key switches prio" | |
| 776 | − " wait-time sum-exec sum-sleep\n"); | |
| 774 | + SEQ_printf(m, " S task PID vruntime eligible " | |
| 775 | + "deadline slice sum-exec switches " | |
| 776 | + "prio wait-time sum-sleep sum-block" | |
| 777 | +#ifdef CONFIG_NUMA_BALANCING | |
| 778 | + " node group-id" | |
| 779 | +#endif | |
| 780 | +#ifdef CONFIG_CGROUP_SCHED | |
| 781 | + " group-path" | |
| 782 | +#endif | |
| 783 | + "\n"); | |
| 777 | 784 | SEQ_printf(m, "-------------------------------------------------------" |
| 778 | − "------------------------------------------------------\n"); | |
| 785 | + "------------------------------------------------------" | |
| 786 | + "------------------------------------------------------" | |
| 787 | +#ifdef CONFIG_NUMA_BALANCING | |
| 788 | + "--------------" | |
| 789 | +#endif | |
| 790 | +#ifdef CONFIG_CGROUP_SCHED | |
| 791 | + "--------------" | |
| 792 | +#endif | |
| 793 | + "\n"); | |
| 779 | 794 | |
| 780 | 795 | rcu_read_lock(); |
| 781 | 796 | for_each_process_thread(g, p) { |