Since it doesn't set the exclude_guest, no need to special handle the
bit and simply show only if one of host or guest bit is set. Now the
default event name might not have :H prefix anymore so change the
dlfilter test not to compare the ":" at the end.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/dlfilters/dlfilter-test-api-v0.c | 2 +-
tools/perf/dlfilters/dlfilter-test-api-v2.c | 2 +-
tools/perf/util/evsel.c | 5 +----
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/tools/perf/dlfilters/dlfilter-test-api-v0.c b/tools/perf/dlfilters/dlfilter-test-api-v0.c
index 4083b1abeaabe605..4ca2d7b2ea6c8200 100644
--- a/tools/perf/dlfilters/dlfilter-test-api-v0.c
+++ b/tools/perf/dlfilters/dlfilter-test-api-v0.c
@@ -220,7 +220,7 @@ static int check_sample(struct filter_data *d, const struct perf_dlfilter_sample
CHECK_SAMPLE(raw_callchain_nr);
CHECK(!sample->raw_callchain);
-#define EVENT_NAME "branches:"
+#define EVENT_NAME "branches"
CHECK(!strncmp(sample->event, EVENT_NAME, strlen(EVENT_NAME)));
return 0;
diff --git a/tools/perf/dlfilters/dlfilter-test-api-v2.c b/tools/perf/dlfilters/dlfilter-test-api-v2.c
index 32ff619e881caa50..00d73a16c4fdaece 100644
--- a/tools/perf/dlfilters/dlfilter-test-api-v2.c
+++ b/tools/perf/dlfilters/dlfilter-test-api-v2.c
@@ -235,7 +235,7 @@ static int check_sample(struct filter_data *d, const struct perf_dlfilter_sample
CHECK_SAMPLE(raw_callchain_nr);
CHECK(!sample->raw_callchain);
-#define EVENT_NAME "branches:"
+#define EVENT_NAME "branches"
CHECK(!strncmp(sample->event, EVENT_NAME, strlen(EVENT_NAME)));
return 0;
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 0ddd77c139e89a2e..f202d28147d62a44 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -545,7 +545,6 @@ static int evsel__add_modifiers(struct evsel *evsel, char *bf, size_t size)
{
int colon = 0, r = 0;
struct perf_event_attr *attr = &evsel->core.attr;
- bool exclude_guest_default = false;
#define MOD_PRINT(context, mod) do { \
if (!attr->exclude_##context) { \
@@ -557,17 +556,15 @@ static int evsel__add_modifiers(struct evsel *evsel, char *bf, size_t size)
MOD_PRINT(kernel, 'k');
MOD_PRINT(user, 'u');
MOD_PRINT(hv, 'h');
- exclude_guest_default = true;
}
if (attr->precise_ip) {
if (!colon)
colon = ++r;
r += scnprintf(bf + r, size - r, "%.*s", attr->precise_ip, "ppp");
- exclude_guest_default = true;
}
- if (attr->exclude_host || attr->exclude_guest == exclude_guest_default) {
+ if (attr->exclude_host || attr->exclude_guest) {
MOD_PRINT(host, 'H');
MOD_PRINT(guest, 'G');
}
--
2.46.1.824.gd892dcdcdd-goog
On Mon, Sep 30, 2024 at 5:20 PM Namhyung Kim <namhyung@kernel.org> wrote: > > Since it doesn't set the exclude_guest, no need to special handle the > bit and simply show only if one of host or guest bit is set. Now the > default event name might not have :H prefix anymore so change the > dlfilter test not to compare the ":" at the end. > > Signed-off-by: Namhyung Kim <namhyung@kernel.org> Reviewed-by: Ian Rogers <irogers@google.com> Thanks, Ian > --- > tools/perf/dlfilters/dlfilter-test-api-v0.c | 2 +- > tools/perf/dlfilters/dlfilter-test-api-v2.c | 2 +- > tools/perf/util/evsel.c | 5 +---- > 3 files changed, 3 insertions(+), 6 deletions(-) > > diff --git a/tools/perf/dlfilters/dlfilter-test-api-v0.c b/tools/perf/dlfilters/dlfilter-test-api-v0.c > index 4083b1abeaabe605..4ca2d7b2ea6c8200 100644 > --- a/tools/perf/dlfilters/dlfilter-test-api-v0.c > +++ b/tools/perf/dlfilters/dlfilter-test-api-v0.c > @@ -220,7 +220,7 @@ static int check_sample(struct filter_data *d, const struct perf_dlfilter_sample > CHECK_SAMPLE(raw_callchain_nr); > CHECK(!sample->raw_callchain); > > -#define EVENT_NAME "branches:" > +#define EVENT_NAME "branches" > CHECK(!strncmp(sample->event, EVENT_NAME, strlen(EVENT_NAME))); > > return 0; > diff --git a/tools/perf/dlfilters/dlfilter-test-api-v2.c b/tools/perf/dlfilters/dlfilter-test-api-v2.c > index 32ff619e881caa50..00d73a16c4fdaece 100644 > --- a/tools/perf/dlfilters/dlfilter-test-api-v2.c > +++ b/tools/perf/dlfilters/dlfilter-test-api-v2.c > @@ -235,7 +235,7 @@ static int check_sample(struct filter_data *d, const struct perf_dlfilter_sample > CHECK_SAMPLE(raw_callchain_nr); > CHECK(!sample->raw_callchain); > > -#define EVENT_NAME "branches:" > +#define EVENT_NAME "branches" > CHECK(!strncmp(sample->event, EVENT_NAME, strlen(EVENT_NAME))); > > return 0; > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c > index 0ddd77c139e89a2e..f202d28147d62a44 100644 > --- a/tools/perf/util/evsel.c > +++ b/tools/perf/util/evsel.c > @@ -545,7 +545,6 @@ static int evsel__add_modifiers(struct evsel *evsel, char *bf, size_t size) > { > int colon = 0, r = 0; > struct perf_event_attr *attr = &evsel->core.attr; > - bool exclude_guest_default = false; > > #define MOD_PRINT(context, mod) do { \ > if (!attr->exclude_##context) { \ > @@ -557,17 +556,15 @@ static int evsel__add_modifiers(struct evsel *evsel, char *bf, size_t size) > MOD_PRINT(kernel, 'k'); > MOD_PRINT(user, 'u'); > MOD_PRINT(hv, 'h'); > - exclude_guest_default = true; > } > > if (attr->precise_ip) { > if (!colon) > colon = ++r; > r += scnprintf(bf + r, size - r, "%.*s", attr->precise_ip, "ppp"); > - exclude_guest_default = true; > } > > - if (attr->exclude_host || attr->exclude_guest == exclude_guest_default) { > + if (attr->exclude_host || attr->exclude_guest) { > MOD_PRINT(host, 'H'); > MOD_PRINT(guest, 'G'); > } > -- > 2.46.1.824.gd892dcdcdd-goog >
© 2016 - 2024 Red Hat, Inc.