lkml.org 
[lkml]   [2012]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCHv2] perf tools: Add 'G' and 'H' modifiers to event parsing
On Tue, Apr 17, 2012 at 02:13:45PM +0300, Gleb Natapov wrote:
> They were dropped during conversion of event parser. Add test case to
> make sure this will not happen again.
>
> Signed-off-by: Gleb Natapov <gleb@redhat.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>

thanks,
jirka

> diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
> index 1c5b980..223ffdc 100644
> --- a/tools/perf/builtin-test.c
> +++ b/tools/perf/builtin-test.c
> @@ -851,6 +851,28 @@ static int test__checkevent_symbolic_name_modifier(struct perf_evlist *evlist)
> return test__checkevent_symbolic_name(evlist);
> }
>
> +static int test__checkevent_exclude_host_modifier(struct perf_evlist *evlist)
> +{
> + struct perf_evsel *evsel = list_entry(evlist->entries.next,
> + struct perf_evsel, node);
> +
> + TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
> + TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host);
> +
> + return test__checkevent_symbolic_name(evlist);
> +}
> +
> +static int test__checkevent_exclude_guest_modifier(struct perf_evlist *evlist)
> +{
> + struct perf_evsel *evsel = list_entry(evlist->entries.next,
> + struct perf_evsel, node);
> +
> + TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest);
> + TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
> +
> + return test__checkevent_symbolic_name(evlist);
> +}
> +
> static int test__checkevent_symbolic_alias_modifier(struct perf_evlist *evlist)
> {
> struct perf_evsel *evsel = list_entry(evlist->entries.next,
> @@ -1091,6 +1113,14 @@ static struct test__event_st {
> .name = "r1,syscalls:sys_enter_open:k,1:1:hp",
> .check = test__checkevent_list,
> },
> + {
> + .name = "instructions:G",
> + .check = test__checkevent_exclude_host_modifier,
> + },
> + {
> + .name = "instructions:H",
> + .check = test__checkevent_exclude_guest_modifier,
> + },
> };
>
> #define TEST__EVENTS_CNT (sizeof(test__events) / sizeof(struct test__event_st))
> diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
> index 05d766e..1fcf1bb 100644
> --- a/tools/perf/util/parse-events.l
> +++ b/tools/perf/util/parse-events.l
> @@ -54,7 +54,7 @@ num_dec [0-9]+
> num_hex 0x[a-fA-F0-9]+
> num_raw_hex [a-fA-F0-9]+
> name [a-zA-Z_*?][a-zA-Z0-9_*?]*
> -modifier_event [ukhp]{1,5}
> +modifier_event [ukhpGH]{1,8}
> modifier_bp [rwx]
>
> %%
> --
> Gleb.


\
 
 \ /
  Last update: 2012-04-17 13:27    [W:0.047 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site