提交 14d1ac74 编写于 作者: N Namhyung Kim 提交者: Arnaldo Carvalho de Melo

perf sort: Move misplaced sort entry functions

Some functions are misplaced along with other entries.  Move them to a
right place so that it can be found together with related functions.

No functional change intended.
Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
Acked-by: NJiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1356599507-14226-2-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 7ce28b5b
...@@ -97,6 +97,16 @@ static int hist_entry__comm_snprintf(struct hist_entry *self, char *bf, ...@@ -97,6 +97,16 @@ static int hist_entry__comm_snprintf(struct hist_entry *self, char *bf,
return repsep_snprintf(bf, size, "%*s", width, self->thread->comm); return repsep_snprintf(bf, size, "%*s", width, self->thread->comm);
} }
struct sort_entry sort_comm = {
.se_header = "Command",
.se_cmp = sort__comm_cmp,
.se_collapse = sort__comm_collapse,
.se_snprintf = hist_entry__comm_snprintf,
.se_width_idx = HISTC_COMM,
};
/* --sort dso */
static int64_t _sort__dso_cmp(struct map *map_l, struct map *map_r) static int64_t _sort__dso_cmp(struct map *map_l, struct map *map_r)
{ {
struct dso *dso_l = map_l ? map_l->dso : NULL; struct dso *dso_l = map_l ? map_l->dso : NULL;
...@@ -117,22 +127,38 @@ static int64_t _sort__dso_cmp(struct map *map_l, struct map *map_r) ...@@ -117,22 +127,38 @@ static int64_t _sort__dso_cmp(struct map *map_l, struct map *map_r)
return strcmp(dso_name_l, dso_name_r); return strcmp(dso_name_l, dso_name_r);
} }
struct sort_entry sort_comm = {
.se_header = "Command",
.se_cmp = sort__comm_cmp,
.se_collapse = sort__comm_collapse,
.se_snprintf = hist_entry__comm_snprintf,
.se_width_idx = HISTC_COMM,
};
/* --sort dso */
static int64_t static int64_t
sort__dso_cmp(struct hist_entry *left, struct hist_entry *right) sort__dso_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
return _sort__dso_cmp(left->ms.map, right->ms.map); return _sort__dso_cmp(left->ms.map, right->ms.map);
} }
static int _hist_entry__dso_snprintf(struct map *map, char *bf,
size_t size, unsigned int width)
{
if (map && map->dso) {
const char *dso_name = !verbose ? map->dso->short_name :
map->dso->long_name;
return repsep_snprintf(bf, size, "%-*s", width, dso_name);
}
return repsep_snprintf(bf, size, "%-*s", width, "[unknown]");
}
static int hist_entry__dso_snprintf(struct hist_entry *self, char *bf,
size_t size, unsigned int width)
{
return _hist_entry__dso_snprintf(self->ms.map, bf, size, width);
}
struct sort_entry sort_dso = {
.se_header = "Shared Object",
.se_cmp = sort__dso_cmp,
.se_snprintf = hist_entry__dso_snprintf,
.se_width_idx = HISTC_DSO,
};
/* --sort symbol */
static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r, static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r,
u64 ip_l, u64 ip_r) u64 ip_l, u64 ip_r)
...@@ -149,22 +175,24 @@ static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r, ...@@ -149,22 +175,24 @@ static int64_t _sort__sym_cmp(struct symbol *sym_l, struct symbol *sym_r,
return (int64_t)(ip_r - ip_l); return (int64_t)(ip_r - ip_l);
} }
static int _hist_entry__dso_snprintf(struct map *map, char *bf, static int64_t
size_t size, unsigned int width) sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
if (map && map->dso) { u64 ip_l, ip_r;
const char *dso_name = !verbose ? map->dso->short_name :
map->dso->long_name;
return repsep_snprintf(bf, size, "%-*s", width, dso_name);
}
return repsep_snprintf(bf, size, "%-*s", width, "[unknown]"); if (!left->ms.sym && !right->ms.sym)
} return right->level - left->level;
static int hist_entry__dso_snprintf(struct hist_entry *self, char *bf, if (!left->ms.sym || !right->ms.sym)
size_t size, unsigned int width) return cmp_null(left->ms.sym, right->ms.sym);
{
return _hist_entry__dso_snprintf(self->ms.map, bf, size, width); if (left->ms.sym == right->ms.sym)
return 0;
ip_l = left->ms.sym->start;
ip_r = right->ms.sym->start;
return _sort__sym_cmp(left->ms.sym, right->ms.sym, ip_l, ip_r);
} }
static int _hist_entry__sym_snprintf(struct map *map, struct symbol *sym, static int _hist_entry__sym_snprintf(struct map *map, struct symbol *sym,
...@@ -195,14 +223,6 @@ static int _hist_entry__sym_snprintf(struct map *map, struct symbol *sym, ...@@ -195,14 +223,6 @@ static int _hist_entry__sym_snprintf(struct map *map, struct symbol *sym,
return ret; return ret;
} }
struct sort_entry sort_dso = {
.se_header = "Shared Object",
.se_cmp = sort__dso_cmp,
.se_snprintf = hist_entry__dso_snprintf,
.se_width_idx = HISTC_DSO,
};
static int hist_entry__sym_snprintf(struct hist_entry *self, char *bf, static int hist_entry__sym_snprintf(struct hist_entry *self, char *bf,
size_t size, size_t size,
unsigned int width __maybe_unused) unsigned int width __maybe_unused)
...@@ -211,27 +231,6 @@ static int hist_entry__sym_snprintf(struct hist_entry *self, char *bf, ...@@ -211,27 +231,6 @@ static int hist_entry__sym_snprintf(struct hist_entry *self, char *bf,
self->level, bf, size, width); self->level, bf, size, width);
} }
/* --sort symbol */
static int64_t
sort__sym_cmp(struct hist_entry *left, struct hist_entry *right)
{
u64 ip_l, ip_r;
if (!left->ms.sym && !right->ms.sym)
return right->level - left->level;
if (!left->ms.sym || !right->ms.sym)
return cmp_null(left->ms.sym, right->ms.sym);
if (left->ms.sym == right->ms.sym)
return 0;
ip_l = left->ms.sym->start;
ip_r = right->ms.sym->start;
return _sort__sym_cmp(left->ms.sym, right->ms.sym, ip_l, ip_r);
}
struct sort_entry sort_sym = { struct sort_entry sort_sym = {
.se_header = "Symbol", .se_header = "Symbol",
.se_cmp = sort__sym_cmp, .se_cmp = sort__sym_cmp,
...@@ -343,6 +342,8 @@ struct sort_entry sort_cpu = { ...@@ -343,6 +342,8 @@ struct sort_entry sort_cpu = {
.se_width_idx = HISTC_CPU, .se_width_idx = HISTC_CPU,
}; };
/* sort keys for branch stacks */
static int64_t static int64_t
sort__dso_from_cmp(struct hist_entry *left, struct hist_entry *right) sort__dso_from_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
...@@ -357,13 +358,6 @@ static int hist_entry__dso_from_snprintf(struct hist_entry *self, char *bf, ...@@ -357,13 +358,6 @@ static int hist_entry__dso_from_snprintf(struct hist_entry *self, char *bf,
bf, size, width); bf, size, width);
} }
struct sort_entry sort_dso_from = {
.se_header = "Source Shared Object",
.se_cmp = sort__dso_from_cmp,
.se_snprintf = hist_entry__dso_from_snprintf,
.se_width_idx = HISTC_DSO_FROM,
};
static int64_t static int64_t
sort__dso_to_cmp(struct hist_entry *left, struct hist_entry *right) sort__dso_to_cmp(struct hist_entry *left, struct hist_entry *right)
{ {
...@@ -423,6 +417,13 @@ static int hist_entry__sym_to_snprintf(struct hist_entry *self, char *bf, ...@@ -423,6 +417,13 @@ static int hist_entry__sym_to_snprintf(struct hist_entry *self, char *bf,
} }
struct sort_entry sort_dso_from = {
.se_header = "Source Shared Object",
.se_cmp = sort__dso_from_cmp,
.se_snprintf = hist_entry__dso_from_snprintf,
.se_width_idx = HISTC_DSO_FROM,
};
struct sort_entry sort_dso_to = { struct sort_entry sort_dso_to = {
.se_header = "Target Shared Object", .se_header = "Target Shared Object",
.se_cmp = sort__dso_to_cmp, .se_cmp = sort__dso_to_cmp,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册