History

sched/debug: Fix the runnable tasks output

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

Huang Shijie committed 2 years ago

Commit 2cab4bd1 parent c662e2b1 file · +23 −8Browse files

Showing the changes to kernel/sched/debug.c (1 of 1 file). Show all

Unified · Split

kernel/sched/debug.c+23−8
@@ -739,7 +739,7 @@ print_task(struct seq_file *m, struct rq *rq, struct task_struct *p) · 738 unmodified lines
739 else739 else
740 SEQ_printf(m, " %c", task_state_to_char(p));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 p->comm, task_pid_nr(p),743 p->comm, task_pid_nr(p),
744 SPLIT_NS(p->se.vruntime),744 SPLIT_NS(p->se.vruntime),
745 entity_eligible(cfs_rq_of(&p->se), &p->se) ? 'E' : 'N',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 (long long)(p->nvcsw + p->nivcsw),750 (long long)(p->nvcsw + p->nivcsw),
751 p->prio);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 SPLIT_NS(schedstat_val_or_zero(p->stats.wait_sum)),754 SPLIT_NS(schedstat_val_or_zero(p->stats.wait_sum)),
755 SPLIT_NS(p->se.sum_exec_runtime),
756 SPLIT_NS(schedstat_val_or_zero(p->stats.sum_sleep_runtime)),755 SPLIT_NS(schedstat_val_or_zero(p->stats.sum_sleep_runtime)),
757 SPLIT_NS(schedstat_val_or_zero(p->stats.sum_block_runtime)));756 SPLIT_NS(schedstat_val_or_zero(p->stats.sum_block_runtime)));
758 757
759#ifdef CONFIG_NUMA_BALANCING758#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#endif760#endif
762#ifdef CONFIG_CGROUP_SCHED761#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#endif763#endif
765 764
766 SEQ_printf(m, "\n");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 SEQ_printf(m, "\n");772 SEQ_printf(m, "\n");
774 SEQ_printf(m, "runnable tasks:\n");773 SEQ_printf(m, "runnable tasks:\n");
775 SEQ_printf(m, " S task PID tree-key switches prio"774 SEQ_printf(m, " S task PID vruntime eligible "
776 " wait-time sum-exec sum-sleep\n");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 SEQ_printf(m, "-------------------------------------------------------"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 rcu_read_lock();795 rcu_read_lock();
781 for_each_process_thread(g, p) {796 for_each_process_thread(g, p) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t