Messages in this thread | | | Date | Tue, 15 Jul 2014 20:58:08 +0300 | From | Adrian Hunter <> | Subject | Re: [PATCH 24/41] perf tools: Add cpu to struct thread |
| |
On 15/07/2014 5:24 p.m., Arnaldo Carvalho de Melo wrote: > Em Mon, Jul 14, 2014 at 01:02:48PM +0300, Adrian Hunter escreveu: >> Tools may wish to track on which cpu a thread >> is running. Add 'cpu' to struct thread for >> that purpose. >> >> This will be used to determine the cpu when >> decoding a per-thread Instruction Trace. > > Humm, is this the last cpu we got some event telling the cpu was running > on? Continuing looking at the patches...
Yes. Intel PT decoding uses sched_switch events to determine which task is running on which cpu. The Intel PT data comes straight from the hardware which doesn't know about linux threads.
> > - Arnaldo > >> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> >> --- >> tools/perf/util/thread.c | 1 + >> tools/perf/util/thread.h | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c >> index b9a3ee4..2f8c0c1 100644 >> --- a/tools/perf/util/thread.c >> +++ b/tools/perf/util/thread.c >> @@ -69,6 +69,7 @@ struct thread *thread__new(pid_t pid, pid_t tid) >> thread->pid_ = pid; >> thread->tid = tid; >> thread->ppid = -1; >> + thread->cpu = -1; >> INIT_LIST_HEAD(&thread->comm_list); >> >> comm_str = malloc(32); >> diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h >> index b4269af..e4920ff 100644 >> --- a/tools/perf/util/thread.h >> +++ b/tools/perf/util/thread.h >> @@ -17,6 +17,7 @@ struct thread { >> pid_t pid_; /* Not all tools update this */ >> pid_t tid; >> pid_t ppid; >> + int cpu; >> char shortname[3]; >> bool comm_set; >> bool dead; /* if set thread has exited */ >> -- >> 1.8.3.2
| |