Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 147551
b: refs/heads/master
c: 37f440c
h: refs/heads/master
i:
  147549: 948facc
  147547: 4e76784
  147543: e467ba9
  147535: f8db253
  147519: 07e3d0f
v: v3
  • Loading branch information
Peter Zijlstra authored and Ingo Molnar committed May 27, 2009
1 parent a5cddbf commit 092c7f3
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1aa167382323eeeeb38368cab85cf17979793cbe
refs/heads/master: 37f440cba299bb479cf45d12eef923f0979dbcaf
43 changes: 41 additions & 2 deletions trunk/Documentation/perf_counter/builtin-report.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

static char const *input_name = "perf.data";
static char *vmlinux = NULL;
static char *sort_order = "pid,symbol";
static int input;
static int show_mask = SHOW_KERNEL | SHOW_USER | SHOW_HV;

Expand Down Expand Up @@ -770,12 +771,49 @@ static struct sort_entry sort_sym = {
.print = sort__sym_print,
};

struct sort_dimension {
char *name;
struct sort_entry *entry;
int taken;
};

static struct sort_dimension sort_dimensions[] = {
{ .name = "pid", .entry = &sort_thread, },
{ .name = "symbol", .entry = &sort_sym, },
};

static LIST_HEAD(hist_entry__sort_list);

static int sort_dimension__add(char *tok)
{
int i;

for (i = 0; i < ARRAY_SIZE(sort_dimensions); i++) {
struct sort_dimension *sd = &sort_dimensions[i];

if (sd->taken)
continue;

if (strcmp(tok, sd->name))
continue;

list_add_tail(&sd->entry->list, &hist_entry__sort_list);
sd->taken = 1;
return 0;
}

return -ESRCH;
}

static void setup_sorting(void)
{
list_add_tail(&sort_thread.list, &hist_entry__sort_list);
list_add_tail(&sort_sym.list, &hist_entry__sort_list);
char *tmp, *tok, *str = strdup(sort_order);

for (tok = strtok_r(str, ", ", &tmp);
tok; tok = strtok_r(NULL, ", ", &tmp))
sort_dimension__add(tok);

free(str);
}

static int64_t
Expand Down Expand Up @@ -1137,6 +1175,7 @@ static const struct option options[] = {
OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
"dump raw trace in ASCII"),
OPT_STRING('k', "vmlinux", &vmlinux, "file", "vmlinux pathname"),
OPT_STRING('s', "sort", &sort_order, "foo", "bar"),
OPT_END()
};

Expand Down

0 comments on commit 092c7f3

Please sign in to comment.