perf tools: Add cpu to struct thread
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 22 Jul 2014 13:17:24 +0000 (16:17 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 23 Jul 2014 14:27:50 +0000 (11:27 -0300)
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.

E.g: 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.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1406035081-14301-16-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/thread.c
tools/perf/util/thread.h

index 9692c06a9e21329cd51fcd1a8e67a1c48cc8e2ae..12c7a253a63ceecfa30f93d7f52f4361a5842c44 100644 (file)
@@ -34,6 +34,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);
index 3c0c2724f82c718dc02153acaf08b9a46bbac5ce..716b7723cce27e03edf2d9a3d61fafc5b7fe1659 100644 (file)
@@ -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 */