Archived
14
0
Fork 0

perf hists: Stop using 'self' for struct hists

Stop using this python/OOP convention, doesn't really helps. Will do
more from time to time till we get it cleaned up in all of /perf.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-91i56jwnzq9edhsj9y2y9l3b@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2011-09-26 12:33:28 -03:00
parent 9d01402023
commit 42b28ac071

View file

@ -18,56 +18,56 @@ struct callchain_param callchain_param = {
.order = ORDER_CALLEE .order = ORDER_CALLEE
}; };
u16 hists__col_len(struct hists *self, enum hist_column col) u16 hists__col_len(struct hists *hists, enum hist_column col)
{ {
return self->col_len[col]; return hists->col_len[col];
} }
void hists__set_col_len(struct hists *self, enum hist_column col, u16 len) void hists__set_col_len(struct hists *hists, enum hist_column col, u16 len)
{ {
self->col_len[col] = len; hists->col_len[col] = len;
} }
bool hists__new_col_len(struct hists *self, enum hist_column col, u16 len) bool hists__new_col_len(struct hists *hists, enum hist_column col, u16 len)
{ {
if (len > hists__col_len(self, col)) { if (len > hists__col_len(hists, col)) {
hists__set_col_len(self, col, len); hists__set_col_len(hists, col, len);
return true; return true;
} }
return false; return false;
} }
static void hists__reset_col_len(struct hists *self) static void hists__reset_col_len(struct hists *hists)
{ {
enum hist_column col; enum hist_column col;
for (col = 0; col < HISTC_NR_COLS; ++col) for (col = 0; col < HISTC_NR_COLS; ++col)
hists__set_col_len(self, col, 0); hists__set_col_len(hists, col, 0);
} }
static void hists__calc_col_len(struct hists *self, struct hist_entry *h) static void hists__calc_col_len(struct hists *hists, struct hist_entry *h)
{ {
u16 len; u16 len;
if (h->ms.sym) if (h->ms.sym)
hists__new_col_len(self, HISTC_SYMBOL, h->ms.sym->namelen); hists__new_col_len(hists, HISTC_SYMBOL, h->ms.sym->namelen);
else { else {
const unsigned int unresolved_col_width = BITS_PER_LONG / 4; const unsigned int unresolved_col_width = BITS_PER_LONG / 4;
if (hists__col_len(self, HISTC_DSO) < unresolved_col_width && if (hists__col_len(hists, HISTC_DSO) < unresolved_col_width &&
!symbol_conf.col_width_list_str && !symbol_conf.field_sep && !symbol_conf.col_width_list_str && !symbol_conf.field_sep &&
!symbol_conf.dso_list) !symbol_conf.dso_list)
hists__set_col_len(self, HISTC_DSO, hists__set_col_len(hists, HISTC_DSO,
unresolved_col_width); unresolved_col_width);
} }
len = thread__comm_len(h->thread); len = thread__comm_len(h->thread);
if (hists__new_col_len(self, HISTC_COMM, len)) if (hists__new_col_len(hists, HISTC_COMM, len))
hists__set_col_len(self, HISTC_THREAD, len + 6); hists__set_col_len(hists, HISTC_THREAD, len + 6);
if (h->ms.map) { if (h->ms.map) {
len = dso__name_len(h->ms.map->dso); len = dso__name_len(h->ms.map->dso);
hists__new_col_len(self, HISTC_DSO, len); hists__new_col_len(hists, HISTC_DSO, len);
} }
} }
@ -113,11 +113,11 @@ static struct hist_entry *hist_entry__new(struct hist_entry *template)
return self; return self;
} }
static void hists__inc_nr_entries(struct hists *self, struct hist_entry *h) static void hists__inc_nr_entries(struct hists *hists, struct hist_entry *h)
{ {
if (!h->filtered) { if (!h->filtered) {
hists__calc_col_len(self, h); hists__calc_col_len(hists, h);
++self->nr_entries; ++hists->nr_entries;
} }
} }
@ -128,11 +128,11 @@ static u8 symbol__parent_filter(const struct symbol *parent)
return 0; return 0;
} }
struct hist_entry *__hists__add_entry(struct hists *self, struct hist_entry *__hists__add_entry(struct hists *hists,
struct addr_location *al, struct addr_location *al,
struct symbol *sym_parent, u64 period) struct symbol *sym_parent, u64 period)
{ {
struct rb_node **p = &self->entries.rb_node; struct rb_node **p = &hists->entries.rb_node;
struct rb_node *parent = NULL; struct rb_node *parent = NULL;
struct hist_entry *he; struct hist_entry *he;
struct hist_entry entry = { struct hist_entry entry = {
@ -172,8 +172,8 @@ struct hist_entry *__hists__add_entry(struct hists *self,
if (!he) if (!he)
return NULL; return NULL;
rb_link_node(&he->rb_node, parent, p); rb_link_node(&he->rb_node, parent, p);
rb_insert_color(&he->rb_node, &self->entries); rb_insert_color(&he->rb_node, &hists->entries);
hists__inc_nr_entries(self, he); hists__inc_nr_entries(hists, he);
out: out:
hist_entry__add_cpumode_period(he, al->cpumode, period); hist_entry__add_cpumode_period(he, al->cpumode, period);
return he; return he;
@ -222,7 +222,7 @@ void hist_entry__free(struct hist_entry *he)
* collapse the histogram * collapse the histogram
*/ */
static bool hists__collapse_insert_entry(struct hists *self, static bool hists__collapse_insert_entry(struct hists *hists,
struct rb_root *root, struct rb_root *root,
struct hist_entry *he) struct hist_entry *he)
{ {
@ -240,8 +240,8 @@ static bool hists__collapse_insert_entry(struct hists *self,
if (!cmp) { if (!cmp) {
iter->period += he->period; iter->period += he->period;
if (symbol_conf.use_callchain) { if (symbol_conf.use_callchain) {
callchain_cursor_reset(&self->callchain_cursor); callchain_cursor_reset(&hists->callchain_cursor);
callchain_merge(&self->callchain_cursor, iter->callchain, callchain_merge(&hists->callchain_cursor, iter->callchain,
he->callchain); he->callchain);
} }
hist_entry__free(he); hist_entry__free(he);
@ -259,7 +259,7 @@ static bool hists__collapse_insert_entry(struct hists *self,
return true; return true;
} }
void hists__collapse_resort(struct hists *self) void hists__collapse_resort(struct hists *hists)
{ {
struct rb_root tmp; struct rb_root tmp;
struct rb_node *next; struct rb_node *next;
@ -269,20 +269,20 @@ void hists__collapse_resort(struct hists *self)
return; return;
tmp = RB_ROOT; tmp = RB_ROOT;
next = rb_first(&self->entries); next = rb_first(&hists->entries);
self->nr_entries = 0; hists->nr_entries = 0;
hists__reset_col_len(self); hists__reset_col_len(hists);
while (next) { while (next) {
n = rb_entry(next, struct hist_entry, rb_node); n = rb_entry(next, struct hist_entry, rb_node);
next = rb_next(&n->rb_node); next = rb_next(&n->rb_node);
rb_erase(&n->rb_node, &self->entries); rb_erase(&n->rb_node, &hists->entries);
if (hists__collapse_insert_entry(self, &tmp, n)) if (hists__collapse_insert_entry(hists, &tmp, n))
hists__inc_nr_entries(self, n); hists__inc_nr_entries(hists, n);
} }
self->entries = tmp; hists->entries = tmp;
} }
/* /*
@ -315,31 +315,31 @@ static void __hists__insert_output_entry(struct rb_root *entries,
rb_insert_color(&he->rb_node, entries); rb_insert_color(&he->rb_node, entries);
} }
void hists__output_resort(struct hists *self) void hists__output_resort(struct hists *hists)
{ {
struct rb_root tmp; struct rb_root tmp;
struct rb_node *next; struct rb_node *next;
struct hist_entry *n; struct hist_entry *n;
u64 min_callchain_hits; u64 min_callchain_hits;
min_callchain_hits = self->stats.total_period * (callchain_param.min_percent / 100); min_callchain_hits = hists->stats.total_period * (callchain_param.min_percent / 100);
tmp = RB_ROOT; tmp = RB_ROOT;
next = rb_first(&self->entries); next = rb_first(&hists->entries);
self->nr_entries = 0; hists->nr_entries = 0;
hists__reset_col_len(self); hists__reset_col_len(hists);
while (next) { while (next) {
n = rb_entry(next, struct hist_entry, rb_node); n = rb_entry(next, struct hist_entry, rb_node);
next = rb_next(&n->rb_node); next = rb_next(&n->rb_node);
rb_erase(&n->rb_node, &self->entries); rb_erase(&n->rb_node, &hists->entries);
__hists__insert_output_entry(&tmp, n, min_callchain_hits); __hists__insert_output_entry(&tmp, n, min_callchain_hits);
hists__inc_nr_entries(self, n); hists__inc_nr_entries(hists, n);
} }
self->entries = tmp; hists->entries = tmp;
} }
static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin) static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin)
@ -738,7 +738,7 @@ static size_t hist_entry__fprintf_callchain(struct hist_entry *self,
left_margin); left_margin);
} }
size_t hists__fprintf(struct hists *self, struct hists *pair, size_t hists__fprintf(struct hists *hists, struct hists *pair,
bool show_displacement, FILE *fp) bool show_displacement, FILE *fp)
{ {
struct sort_entry *se; struct sort_entry *se;
@ -803,15 +803,15 @@ size_t hists__fprintf(struct hists *self, struct hists *pair,
width = strlen(se->se_header); width = strlen(se->se_header);
if (symbol_conf.col_width_list_str) { if (symbol_conf.col_width_list_str) {
if (col_width) { if (col_width) {
hists__set_col_len(self, se->se_width_idx, hists__set_col_len(hists, se->se_width_idx,
atoi(col_width)); atoi(col_width));
col_width = strchr(col_width, ','); col_width = strchr(col_width, ',');
if (col_width) if (col_width)
++col_width; ++col_width;
} }
} }
if (!hists__new_col_len(self, se->se_width_idx, width)) if (!hists__new_col_len(hists, se->se_width_idx, width))
width = hists__col_len(self, se->se_width_idx); width = hists__col_len(hists, se->se_width_idx);
fprintf(fp, " %*s", width, se->se_header); fprintf(fp, " %*s", width, se->se_header);
} }
fprintf(fp, "\n"); fprintf(fp, "\n");
@ -834,7 +834,7 @@ size_t hists__fprintf(struct hists *self, struct hists *pair,
continue; continue;
fprintf(fp, " "); fprintf(fp, " ");
width = hists__col_len(self, se->se_width_idx); width = hists__col_len(hists, se->se_width_idx);
if (width == 0) if (width == 0)
width = strlen(se->se_header); width = strlen(se->se_header);
for (i = 0; i < width; i++) for (i = 0; i < width; i++)
@ -844,7 +844,7 @@ size_t hists__fprintf(struct hists *self, struct hists *pair,
fprintf(fp, "\n#\n"); fprintf(fp, "\n#\n");
print_entries: print_entries:
for (nd = rb_first(&self->entries); nd; nd = rb_next(nd)) { for (nd = rb_first(&hists->entries); nd; nd = rb_next(nd)) {
struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node); struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
if (h->filtered) if (h->filtered)
@ -858,12 +858,12 @@ print_entries:
displacement = 0; displacement = 0;
++position; ++position;
} }
ret += hist_entry__fprintf(h, self, pair, show_displacement, ret += hist_entry__fprintf(h, hists, pair, show_displacement,
displacement, fp, self->stats.total_period); displacement, fp, hists->stats.total_period);
if (symbol_conf.use_callchain) if (symbol_conf.use_callchain)
ret += hist_entry__fprintf_callchain(h, self, fp, ret += hist_entry__fprintf_callchain(h, hists, fp,
self->stats.total_period); hists->stats.total_period);
if (h->ms.map == NULL && verbose > 1) { if (h->ms.map == NULL && verbose > 1) {
__map_groups__fprintf_maps(&h->thread->mg, __map_groups__fprintf_maps(&h->thread->mg,
MAP__FUNCTION, verbose, fp); MAP__FUNCTION, verbose, fp);
@ -879,7 +879,7 @@ print_entries:
/* /*
* See hists__fprintf to match the column widths * See hists__fprintf to match the column widths
*/ */
unsigned int hists__sort_list_width(struct hists *self) unsigned int hists__sort_list_width(struct hists *hists)
{ {
struct sort_entry *se; struct sort_entry *se;
int ret = 9; /* total % */ int ret = 9; /* total % */
@ -898,7 +898,7 @@ unsigned int hists__sort_list_width(struct hists *self)
list_for_each_entry(se, &hist_entry__sort_list, list) list_for_each_entry(se, &hist_entry__sort_list, list)
if (!se->elide) if (!se->elide)
ret += 2 + hists__col_len(self, se->se_width_idx); ret += 2 + hists__col_len(hists, se->se_width_idx);
if (verbose) /* Addr + origin */ if (verbose) /* Addr + origin */
ret += 3 + BITS_PER_LONG / 4; ret += 3 + BITS_PER_LONG / 4;
@ -906,32 +906,32 @@ unsigned int hists__sort_list_width(struct hists *self)
return ret; return ret;
} }
static void hists__remove_entry_filter(struct hists *self, struct hist_entry *h, static void hists__remove_entry_filter(struct hists *hists, struct hist_entry *h,
enum hist_filter filter) enum hist_filter filter)
{ {
h->filtered &= ~(1 << filter); h->filtered &= ~(1 << filter);
if (h->filtered) if (h->filtered)
return; return;
++self->nr_entries; ++hists->nr_entries;
if (h->ms.unfolded) if (h->ms.unfolded)
self->nr_entries += h->nr_rows; hists->nr_entries += h->nr_rows;
h->row_offset = 0; h->row_offset = 0;
self->stats.total_period += h->period; hists->stats.total_period += h->period;
self->stats.nr_events[PERF_RECORD_SAMPLE] += h->nr_events; hists->stats.nr_events[PERF_RECORD_SAMPLE] += h->nr_events;
hists__calc_col_len(self, h); hists__calc_col_len(hists, h);
} }
void hists__filter_by_dso(struct hists *self, const struct dso *dso) void hists__filter_by_dso(struct hists *hists, const struct dso *dso)
{ {
struct rb_node *nd; struct rb_node *nd;
self->nr_entries = self->stats.total_period = 0; hists->nr_entries = hists->stats.total_period = 0;
self->stats.nr_events[PERF_RECORD_SAMPLE] = 0; hists->stats.nr_events[PERF_RECORD_SAMPLE] = 0;
hists__reset_col_len(self); hists__reset_col_len(hists);
for (nd = rb_first(&self->entries); nd; nd = rb_next(nd)) { for (nd = rb_first(&hists->entries); nd; nd = rb_next(nd)) {
struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node); struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
if (symbol_conf.exclude_other && !h->parent) if (symbol_conf.exclude_other && !h->parent)
@ -942,19 +942,19 @@ void hists__filter_by_dso(struct hists *self, const struct dso *dso)
continue; continue;
} }
hists__remove_entry_filter(self, h, HIST_FILTER__DSO); hists__remove_entry_filter(hists, h, HIST_FILTER__DSO);
} }
} }
void hists__filter_by_thread(struct hists *self, const struct thread *thread) void hists__filter_by_thread(struct hists *hists, const struct thread *thread)
{ {
struct rb_node *nd; struct rb_node *nd;
self->nr_entries = self->stats.total_period = 0; hists->nr_entries = hists->stats.total_period = 0;
self->stats.nr_events[PERF_RECORD_SAMPLE] = 0; hists->stats.nr_events[PERF_RECORD_SAMPLE] = 0;
hists__reset_col_len(self); hists__reset_col_len(hists);
for (nd = rb_first(&self->entries); nd; nd = rb_next(nd)) { for (nd = rb_first(&hists->entries); nd; nd = rb_next(nd)) {
struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node); struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
if (thread != NULL && h->thread != thread) { if (thread != NULL && h->thread != thread) {
@ -962,7 +962,7 @@ void hists__filter_by_thread(struct hists *self, const struct thread *thread)
continue; continue;
} }
hists__remove_entry_filter(self, h, HIST_FILTER__THREAD); hists__remove_entry_filter(hists, h, HIST_FILTER__THREAD);
} }
} }
@ -976,13 +976,13 @@ int hist_entry__annotate(struct hist_entry *he, size_t privsize)
return symbol__annotate(he->ms.sym, he->ms.map, privsize); return symbol__annotate(he->ms.sym, he->ms.map, privsize);
} }
void hists__inc_nr_events(struct hists *self, u32 type) void hists__inc_nr_events(struct hists *hists, u32 type)
{ {
++self->stats.nr_events[0]; ++hists->stats.nr_events[0];
++self->stats.nr_events[type]; ++hists->stats.nr_events[type];
} }
size_t hists__fprintf_nr_events(struct hists *self, FILE *fp) size_t hists__fprintf_nr_events(struct hists *hists, FILE *fp)
{ {
int i; int i;
size_t ret = 0; size_t ret = 0;
@ -990,7 +990,7 @@ size_t hists__fprintf_nr_events(struct hists *self, FILE *fp)
for (i = 0; i < PERF_RECORD_HEADER_MAX; ++i) { for (i = 0; i < PERF_RECORD_HEADER_MAX; ++i) {
const char *name; const char *name;
if (self->stats.nr_events[i] == 0) if (hists->stats.nr_events[i] == 0)
continue; continue;
name = perf_event__name(i); name = perf_event__name(i);
@ -998,7 +998,7 @@ size_t hists__fprintf_nr_events(struct hists *self, FILE *fp)
continue; continue;
ret += fprintf(fp, "%16s events: %10d\n", name, ret += fprintf(fp, "%16s events: %10d\n", name,
self->stats.nr_events[i]); hists->stats.nr_events[i]);
} }
return ret; return ret;