Re: [PATCH v13 09/14] perf, tools: Group alias perf list by section

From: Sukadev Bhattiprolu
Date: Tue Jun 02 2015 - 15:20:56 EST



Please drop this patch. It was incorrectly included in the set.
Also, see the updated Patch 12/14.

Current set of patches are in the json-v13.1 branch:

https://github.com/sukadev/linux/tree/json-v13.1

Sukadev

Sukadev Bhattiprolu [sukadev@xxxxxxxxxxxxxxxxxx] wrote:
| From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
|
| The first first element in an hardware event name defines the general
| area, usually the part of the micro architecture it is refering to.
| Group the perf list output by these sections by adding section headers.
|
| Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
| Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
| ---
| tools/perf/util/pmu.c | 17 +++++++++++++++++
| 1 file changed, 17 insertions(+)
|
| diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
| index 417333b..8d91fa7 100644
| --- a/tools/perf/util/pmu.c
| +++ b/tools/perf/util/pmu.c
| @@ -1039,6 +1039,8 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet_flag)
| struct pair *aliases;
| int numdesc = 0;
| int columns = pager_get_columns();
| + const char *last_section;
| + int last_section_len;
|
| pmu = NULL;
| len = 0;
| @@ -1086,6 +1088,8 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet_flag)
| }
| }
| len = j;
| + last_section = NULL;
| + last_section_len = 0;
| qsort(aliases, len, sizeof(struct pair), cmp_pair);
| for (j = 0; j < len; j++) {
| if (name_only) {
| @@ -1093,8 +1097,21 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet_flag)
| continue;
| }
| if (aliases[j].desc && !quiet_flag) {
| + char *dot;
| + char *name = aliases[j].name;
| +
| if (numdesc++ == 0)
| printf("\n");
| + dot = strchr(name, '.');
| + if (dot &&
| + (!last_section ||
| + strncmp(last_section, name, last_section_len))) {
| + last_section_len = dot - name;
| + printf("%s%.*s:\n",
| + last_section ? "\n" : "",
| + last_section_len, name);
| + last_section = name;
| + }
| printf(" %-50s\n", aliases[j].name);
| printf("%*s", 8, "[");
| wordwrap(aliases[j].desc, 8, columns, 0);
| --
| 1.7.9.5
|
| --
| To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
| the body of a message to majordomo@xxxxxxxxxxxxxxx
| More majordomo info at http://vger.kernel.org/majordomo-info.html
| Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/