Commit ce1d3bc2 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf evsel: Introduce evsel__name_is() method to check if the evsel name is equal to a given string



This makes the logic a bit clear by avoiding the !strcmp() pattern and
also a way to intercept the pointer if we need to do extra validation on
it or to do lazy setting of evsel->name via evsel__name(evsel).

Reviewed-by: default avatar"Liang, Kan" <kan.liang@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/ZEGLM8VehJbS0gP2@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 9be6ab18
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -44,14 +44,14 @@ static bool event_begin(struct evsel *evsel,
			struct perf_sample *sample __maybe_unused,
			struct event_key *key __maybe_unused)
{
	return !strcmp(evsel->name, kvm_entry_trace);
	return evsel__name_is(evsel, kvm_entry_trace);
}

static bool event_end(struct evsel *evsel,
		      struct perf_sample *sample,
		      struct event_key *key)
{
	if (!strcmp(evsel->name, kvm_exit_trace)) {
	if (evsel__name_is(evsel, kvm_exit_trace)) {
		event_get_key(evsel, sample, key);
		return true;
	}
+2 −2
Original line number Diff line number Diff line
@@ -60,13 +60,13 @@ static bool hcall_event_end(struct evsel *evsel,
			    struct perf_sample *sample __maybe_unused,
			    struct event_key *key __maybe_unused)
{
	return (!strcmp(evsel->name, kvm_events_tp[3]));
	return (evsel__name_is(evsel, kvm_events_tp[3]));
}

static bool hcall_event_begin(struct evsel *evsel,
			      struct perf_sample *sample, struct event_key *key)
{
	if (!strcmp(evsel->name, kvm_events_tp[2])) {
	if (evsel__name_is(evsel, kvm_events_tp[2])) {
		hcall_event_get_key(evsel, sample, key);
		return true;
	}
+4 −4
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ static bool mmio_event_begin(struct evsel *evsel,
		return true;

	/* MMIO write begin event in kernel. */
	if (!strcmp(evsel->name, "kvm:kvm_mmio") &&
	if (evsel__name_is(evsel, "kvm:kvm_mmio") &&
	    evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_WRITE) {
		mmio_event_get_key(evsel, sample, key);
		return true;
@@ -63,7 +63,7 @@ static bool mmio_event_end(struct evsel *evsel, struct perf_sample *sample,
		return true;

	/* MMIO read end event in kernel.*/
	if (!strcmp(evsel->name, "kvm:kvm_mmio") &&
	if (evsel__name_is(evsel, "kvm:kvm_mmio") &&
	    evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_READ) {
		mmio_event_get_key(evsel, sample, key);
		return true;
@@ -101,7 +101,7 @@ static bool ioport_event_begin(struct evsel *evsel,
			       struct perf_sample *sample,
			       struct event_key *key)
{
	if (!strcmp(evsel->name, "kvm:kvm_pio")) {
	if (evsel__name_is(evsel, "kvm:kvm_pio")) {
		ioport_event_get_key(evsel, sample, key);
		return true;
	}
@@ -145,7 +145,7 @@ static bool msr_event_begin(struct evsel *evsel,
			       struct perf_sample *sample,
			       struct event_key *key)
{
	if (!strcmp(evsel->name, "kvm:kvm_msr")) {
	if (evsel__name_is(evsel, "kvm:kvm_msr")) {
		msr_event_get_key(evsel, sample, key);
		return true;
	}
+3 −3
Original line number Diff line number Diff line
@@ -625,7 +625,7 @@ void exit_event_get_key(struct evsel *evsel,

bool kvm_exit_event(struct evsel *evsel)
{
	return !strcmp(evsel->name, kvm_exit_trace);
	return evsel__name_is(evsel, kvm_exit_trace);
}

bool exit_event_begin(struct evsel *evsel,
@@ -641,7 +641,7 @@ bool exit_event_begin(struct evsel *evsel,

bool kvm_entry_event(struct evsel *evsel)
{
	return !strcmp(evsel->name, kvm_entry_trace);
	return evsel__name_is(evsel, kvm_entry_trace);
}

bool exit_event_end(struct evsel *evsel,
@@ -878,7 +878,7 @@ static bool is_child_event(struct perf_kvm_stat *kvm,
		return false;

	for (; child_ops->name; child_ops++) {
		if (!strcmp(evsel->name, child_ops->name)) {
		if (evsel__name_is(evsel, child_ops->name)) {
			child_ops->get_key(evsel, sample, key);
			return true;
		}
+1 −1
Original line number Diff line number Diff line
@@ -2170,7 +2170,7 @@ static void setup_system_wide(int forks)

		evlist__for_each_entry(evsel_list, counter) {
			if (!counter->core.requires_cpu &&
			    strcmp(counter->name, "duration_time")) {
			    !evsel__name_is(counter, "duration_time")) {
				return;
			}
		}
Loading