Commit 38051234 authored by Adrian Hunter's avatar Adrian Hunter Committed by Arnaldo Carvalho de Melo

perf tools: struct thread has a tid not a pid

As evident from 'machine__process_fork_event()' and
'machine__process_exit_event()' the 'pid' member of struct thread is
actually the tid.

Rename 'pid' to 'tid' in struct thread accordingly.
Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
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/1372944040-32690-13-git-send-email-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 27389d78
...@@ -313,7 +313,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused, ...@@ -313,7 +313,7 @@ static int process_sample_event(struct perf_tool *tool __maybe_unused,
return -1; return -1;
} }
dump_printf(" ... thread: %s:%d\n", thread->comm, thread->pid); dump_printf(" ... thread: %s:%d\n", thread->comm, thread->tid);
if (evsel->handler.func != NULL) { if (evsel->handler.func != NULL) {
tracepoint_handler f = evsel->handler.func; tracepoint_handler f = evsel->handler.func;
......
...@@ -1075,7 +1075,7 @@ static int latency_migrate_task_event(struct perf_sched *sched, ...@@ -1075,7 +1075,7 @@ static int latency_migrate_task_event(struct perf_sched *sched,
if (!atoms) { if (!atoms) {
if (thread_atoms_insert(sched, migrant)) if (thread_atoms_insert(sched, migrant))
return -1; return -1;
register_pid(sched, migrant->pid, migrant->comm); register_pid(sched, migrant->tid, migrant->comm);
atoms = thread_atoms_search(&sched->atom_root, migrant, &sched->cmp_pid); atoms = thread_atoms_search(&sched->atom_root, migrant, &sched->cmp_pid);
if (!atoms) { if (!atoms) {
pr_err("migration-event: Internal tree error"); pr_err("migration-event: Internal tree error");
...@@ -1115,7 +1115,7 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_ ...@@ -1115,7 +1115,7 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_
sched->all_runtime += work_list->total_runtime; sched->all_runtime += work_list->total_runtime;
sched->all_count += work_list->nb_atoms; sched->all_count += work_list->nb_atoms;
ret = printf(" %s:%d ", work_list->thread->comm, work_list->thread->pid); ret = printf(" %s:%d ", work_list->thread->comm, work_list->thread->tid);
for (i = 0; i < 24 - ret; i++) for (i = 0; i < 24 - ret; i++)
printf(" "); printf(" ");
...@@ -1131,9 +1131,9 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_ ...@@ -1131,9 +1131,9 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_
static int pid_cmp(struct work_atoms *l, struct work_atoms *r) static int pid_cmp(struct work_atoms *l, struct work_atoms *r)
{ {
if (l->thread->pid < r->thread->pid) if (l->thread->tid < r->thread->tid)
return -1; return -1;
if (l->thread->pid > r->thread->pid) if (l->thread->tid > r->thread->tid)
return 1; return 1;
return 0; return 0;
...@@ -1321,7 +1321,7 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel, ...@@ -1321,7 +1321,7 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel,
printf("*"); printf("*");
if (sched->curr_thread[cpu]) { if (sched->curr_thread[cpu]) {
if (sched->curr_thread[cpu]->pid) if (sched->curr_thread[cpu]->tid)
printf("%2s ", sched->curr_thread[cpu]->shortname); printf("%2s ", sched->curr_thread[cpu]->shortname);
else else
printf(". "); printf(". ");
...@@ -1332,7 +1332,7 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel, ...@@ -1332,7 +1332,7 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel,
printf(" %12.6f secs ", (double)timestamp/1e9); printf(" %12.6f secs ", (double)timestamp/1e9);
if (new_shortname) { if (new_shortname) {
printf("%s => %s:%d\n", printf("%s => %s:%d\n",
sched_in->shortname, sched_in->comm, sched_in->pid); sched_in->shortname, sched_in->comm, sched_in->tid);
} else { } else {
printf("\n"); printf("\n");
} }
......
...@@ -142,7 +142,7 @@ static size_t trace__fprintf_entry_head(struct trace *trace, struct thread *thre ...@@ -142,7 +142,7 @@ static size_t trace__fprintf_entry_head(struct trace *trace, struct thread *thre
printed += fprintf_duration(duration, fp); printed += fprintf_duration(duration, fp);
if (trace->multiple_threads) if (trace->multiple_threads)
printed += fprintf(fp, "%d ", thread->pid); printed += fprintf(fp, "%d ", thread->tid);
return printed; return printed;
} }
...@@ -593,7 +593,7 @@ static size_t trace__fprintf_thread_summary(struct trace *trace, FILE *fp) ...@@ -593,7 +593,7 @@ static size_t trace__fprintf_thread_summary(struct trace *trace, FILE *fp)
color = PERF_COLOR_YELLOW; color = PERF_COLOR_YELLOW;
printed += color_fprintf(fp, color, "%20s", thread->comm); printed += color_fprintf(fp, color, "%20s", thread->comm);
printed += fprintf(fp, " - %-5d :%11lu [", thread->pid, ttrace->nr_events); printed += fprintf(fp, " - %-5d :%11lu [", thread->tid, ttrace->nr_events);
printed += color_fprintf(fp, color, "%5.1f%%", ratio); printed += color_fprintf(fp, color, "%5.1f%%", ratio);
printed += fprintf(fp, " ] %10.3f ms\n", ttrace->runtime_ms); printed += fprintf(fp, " ] %10.3f ms\n", ttrace->runtime_ms);
} }
......
...@@ -1256,7 +1256,7 @@ static int hists__browser_title(struct hists *hists, char *bf, size_t size, ...@@ -1256,7 +1256,7 @@ static int hists__browser_title(struct hists *hists, char *bf, size_t size,
printed += scnprintf(bf + printed, size - printed, printed += scnprintf(bf + printed, size - printed,
", Thread: %s(%d)", ", Thread: %s(%d)",
(thread->comm_set ? thread->comm : ""), (thread->comm_set ? thread->comm : ""),
thread->pid); thread->tid);
if (dso) if (dso)
printed += scnprintf(bf + printed, size - printed, printed += scnprintf(bf + printed, size - printed,
", DSO: %s", dso->short_name); ", DSO: %s", dso->short_name);
...@@ -1579,7 +1579,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events, ...@@ -1579,7 +1579,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
asprintf(&options[nr_options], "Zoom %s %s(%d) thread", asprintf(&options[nr_options], "Zoom %s %s(%d) thread",
(browser->hists->thread_filter ? "out of" : "into"), (browser->hists->thread_filter ? "out of" : "into"),
(thread->comm_set ? thread->comm : ""), (thread->comm_set ? thread->comm : ""),
thread->pid) > 0) thread->tid) > 0)
zoom_thread = nr_options++; zoom_thread = nr_options++;
if (dso != NULL && if (dso != NULL &&
...@@ -1702,7 +1702,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events, ...@@ -1702,7 +1702,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
} else { } else {
ui_helpline__fpush("To zoom out press <- or -> + \"Zoom out of %s(%d) thread\"", ui_helpline__fpush("To zoom out press <- or -> + \"Zoom out of %s(%d) thread\"",
thread->comm_set ? thread->comm : "", thread->comm_set ? thread->comm : "",
thread->pid); thread->tid);
browser->hists->thread_filter = thread; browser->hists->thread_filter = thread;
sort_thread.elide = true; sort_thread.elide = true;
pstack__push(fstack, &browser->hists->thread_filter); pstack__push(fstack, &browser->hists->thread_filter);
......
...@@ -686,7 +686,7 @@ int perf_event__preprocess_sample(const union perf_event *event, ...@@ -686,7 +686,7 @@ int perf_event__preprocess_sample(const union perf_event *event,
!strlist__has_entry(symbol_conf.comm_list, thread->comm)) !strlist__has_entry(symbol_conf.comm_list, thread->comm))
goto out_filtered; goto out_filtered;
dump_printf(" ... thread: %s:%d\n", thread->comm, thread->pid); dump_printf(" ... thread: %s:%d\n", thread->comm, thread->tid);
/* /*
* Have we already created the kernel maps for this machine? * Have we already created the kernel maps for this machine?
* *
......
...@@ -233,7 +233,7 @@ void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size) ...@@ -233,7 +233,7 @@ void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size)
return; return;
} }
static struct thread *__machine__findnew_thread(struct machine *machine, pid_t pid, static struct thread *__machine__findnew_thread(struct machine *machine, pid_t tid,
bool create) bool create)
{ {
struct rb_node **p = &machine->threads.rb_node; struct rb_node **p = &machine->threads.rb_node;
...@@ -241,23 +241,23 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p ...@@ -241,23 +241,23 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p
struct thread *th; struct thread *th;
/* /*
* Font-end cache - PID lookups come in blocks, * Front-end cache - TID lookups come in blocks,
* so most of the time we dont have to look up * so most of the time we dont have to look up
* the full rbtree: * the full rbtree:
*/ */
if (machine->last_match && machine->last_match->pid == pid) if (machine->last_match && machine->last_match->tid == tid)
return machine->last_match; return machine->last_match;
while (*p != NULL) { while (*p != NULL) {
parent = *p; parent = *p;
th = rb_entry(parent, struct thread, rb_node); th = rb_entry(parent, struct thread, rb_node);
if (th->pid == pid) { if (th->tid == tid) {
machine->last_match = th; machine->last_match = th;
return th; return th;
} }
if (pid < th->pid) if (tid < th->tid)
p = &(*p)->rb_left; p = &(*p)->rb_left;
else else
p = &(*p)->rb_right; p = &(*p)->rb_right;
...@@ -266,7 +266,7 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p ...@@ -266,7 +266,7 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p
if (!create) if (!create)
return NULL; return NULL;
th = thread__new(pid); th = thread__new(tid);
if (th != NULL) { if (th != NULL) {
rb_link_node(&th->rb_node, parent, p); rb_link_node(&th->rb_node, parent, p);
rb_insert_color(&th->rb_node, &machine->threads); rb_insert_color(&th->rb_node, &machine->threads);
...@@ -276,14 +276,14 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p ...@@ -276,14 +276,14 @@ static struct thread *__machine__findnew_thread(struct machine *machine, pid_t p
return th; return th;
} }
struct thread *machine__findnew_thread(struct machine *machine, pid_t pid) struct thread *machine__findnew_thread(struct machine *machine, pid_t tid)
{ {
return __machine__findnew_thread(machine, pid, true); return __machine__findnew_thread(machine, tid, true);
} }
struct thread *machine__find_thread(struct machine *machine, pid_t pid) struct thread *machine__find_thread(struct machine *machine, pid_t tid)
{ {
return __machine__findnew_thread(machine, pid, false); return __machine__findnew_thread(machine, tid, false);
} }
int machine__process_comm_event(struct machine *machine, union perf_event *event) int machine__process_comm_event(struct machine *machine, union perf_event *event)
......
...@@ -36,7 +36,7 @@ struct map *machine__kernel_map(struct machine *machine, enum map_type type) ...@@ -36,7 +36,7 @@ struct map *machine__kernel_map(struct machine *machine, enum map_type type)
return machine->vmlinux_maps[type]; return machine->vmlinux_maps[type];
} }
struct thread *machine__find_thread(struct machine *machine, pid_t pid); struct thread *machine__find_thread(struct machine *machine, pid_t tid);
int machine__process_comm_event(struct machine *machine, union perf_event *event); int machine__process_comm_event(struct machine *machine, union perf_event *event);
int machine__process_exit_event(struct machine *machine, union perf_event *event); int machine__process_exit_event(struct machine *machine, union perf_event *event);
...@@ -99,7 +99,7 @@ static inline bool machine__is_host(struct machine *machine) ...@@ -99,7 +99,7 @@ static inline bool machine__is_host(struct machine *machine)
return machine ? machine->pid == HOST_KERNEL_ID : false; return machine ? machine->pid == HOST_KERNEL_ID : false;
} }
struct thread *machine__findnew_thread(struct machine *machine, pid_t pid); struct thread *machine__findnew_thread(struct machine *machine, pid_t tid);
size_t machine__fprintf(struct machine *machine, FILE *fp); size_t machine__fprintf(struct machine *machine, FILE *fp);
......
...@@ -55,14 +55,14 @@ static int64_t cmp_null(void *l, void *r) ...@@ -55,14 +55,14 @@ static int64_t cmp_null(void *l, void *r)
static int64_t static int64_t
sort__thread_cmp(struct hist_entry *left, struct hist_entry *right) sort__thread_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
return right->thread->pid - left->thread->pid; return right->thread->tid - left->thread->tid;
} }
static int hist_entry__thread_snprintf(struct hist_entry *self, char *bf, static int hist_entry__thread_snprintf(struct hist_entry *self, char *bf,
size_t size, unsigned int width) size_t size, unsigned int width)
{ {
return repsep_snprintf(bf, size, "%*s:%5d", width - 6, return repsep_snprintf(bf, size, "%*s:%5d", width - 6,
self->thread->comm ?: "", self->thread->pid); self->thread->comm ?: "", self->thread->tid);
} }
struct sort_entry sort_thread = { struct sort_entry sort_thread = {
...@@ -77,7 +77,7 @@ struct sort_entry sort_thread = { ...@@ -77,7 +77,7 @@ struct sort_entry sort_thread = {
static int64_t static int64_t
sort__comm_cmp(struct hist_entry *left, struct hist_entry *right) sort__comm_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
return right->thread->pid - left->thread->pid; return right->thread->tid - left->thread->tid;
} }
static int64_t static int64_t
......
...@@ -7,17 +7,17 @@ ...@@ -7,17 +7,17 @@
#include "util.h" #include "util.h"
#include "debug.h" #include "debug.h"
struct thread *thread__new(pid_t pid) struct thread *thread__new(pid_t tid)
{ {
struct thread *self = zalloc(sizeof(*self)); struct thread *self = zalloc(sizeof(*self));
if (self != NULL) { if (self != NULL) {
map_groups__init(&self->mg); map_groups__init(&self->mg);
self->pid = pid; self->tid = tid;
self->ppid = -1; self->ppid = -1;
self->comm = malloc(32); self->comm = malloc(32);
if (self->comm) if (self->comm)
snprintf(self->comm, 32, ":%d", self->pid); snprintf(self->comm, 32, ":%d", self->tid);
} }
return self; return self;
...@@ -57,7 +57,7 @@ int thread__comm_len(struct thread *self) ...@@ -57,7 +57,7 @@ int thread__comm_len(struct thread *self)
size_t thread__fprintf(struct thread *thread, FILE *fp) size_t thread__fprintf(struct thread *thread, FILE *fp)
{ {
return fprintf(fp, "Thread %d %s\n", thread->pid, thread->comm) + return fprintf(fp, "Thread %d %s\n", thread->tid, thread->comm) +
map_groups__fprintf(&thread->mg, verbose, fp); map_groups__fprintf(&thread->mg, verbose, fp);
} }
...@@ -84,7 +84,7 @@ int thread__fork(struct thread *self, struct thread *parent) ...@@ -84,7 +84,7 @@ int thread__fork(struct thread *self, struct thread *parent)
if (map_groups__clone(&self->mg, &parent->mg, i) < 0) if (map_groups__clone(&self->mg, &parent->mg, i) < 0)
return -ENOMEM; return -ENOMEM;
self->ppid = parent->pid; self->ppid = parent->tid;
return 0; return 0;
} }
...@@ -12,7 +12,7 @@ struct thread { ...@@ -12,7 +12,7 @@ struct thread {
struct list_head node; struct list_head node;
}; };
struct map_groups mg; struct map_groups mg;
pid_t pid; pid_t tid;
pid_t ppid; pid_t ppid;
char shortname[3]; char shortname[3];
bool comm_set; bool comm_set;
...@@ -24,7 +24,7 @@ struct thread { ...@@ -24,7 +24,7 @@ struct thread {
struct machine; struct machine;
struct thread *thread__new(pid_t pid); struct thread *thread__new(pid_t tid);
void thread__delete(struct thread *self); void thread__delete(struct thread *self);
int thread__set_comm(struct thread *self, const char *comm); int thread__set_comm(struct thread *self, const char *comm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment