On Fri, 25 Mar 2022 19:36:24 +0000 John Keeping <john@xxxxxxxxxxxx> wrote: > On Wed, Mar 23, 2022 at 10:57:17PM -0400, Steven Rostedt wrote: > > From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> > > > > Display for each CPU that was traced, the amount of time tasks ran on > > them. Listing the tasks from the longest runner to the least. > > > > Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> > > --- > > + for (i = 0; i < nr_tasks; i++) { > > + task = cpu_tasks[i]->task; > > + > > + if (!i) { > > + printf(" Task name PID \t Run time\n"); > > + printf(" --------- --- \t --------\n"); > > + } > > + printf("%16s %8d\t", > > + tep_data_comm_from_pid(tep, task->pid), > > + task->pid); > > + print_time(cpu_tasks[i]->runtime, '_'); > > + printf(" (%%%lld)\n", (task->runtime * 100) / total_time); > > Is there a reason for using the CPU-specific runtime for the value and > the total runtime for the percentage? > > I expected the percentage to be the percentage of this CPU's time spend > running the task. We modify it so that each CPU has the same run time, unless there's missed events at the start (later patches), and then we change total_time to be the total time of the events on the CPU and not the entire trace. -- Steve