|
@@ -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))
|