Commit ace3e31e authored by Kan Liang's avatar Kan Liang Committed by Arnaldo Carvalho de Melo
Browse files

perf stat: Revert "perf stat: Add default hybrid events"



This reverts commit Fixes: ac2dc29e ("perf stat: Add default
hybrid events")

Between this patch and the reverted patch, the commit 6c191289
("perf parse-events: Rename parse_events_error functions") and the
commit 07eafd4e ("perf parse-event: Add init and exit to
parse_event_error") clean up the parse_events_error_*() codes. The
related change is also reverted.

The reverted patch is hard to be extended to support new default events,
e.g., Topdown events, and the existing "--detailed" option on a hybrid
platform.

A new solution will be proposed in the following patch to enable the
perf stat default on a hybrid platform.

Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
Acked-by: default avatarIan Rogers <irogers@google.com>
Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220721065706.2886112-2-zhengjun.xing@linux.intel.com


Signed-off-by: default avatarXing Zhengjun <zhengjun.xing@linux.intel.com>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent fb5962f8
Loading
Loading
Loading
Loading
+0 −30
Original line number Diff line number Diff line
@@ -1685,12 +1685,6 @@ static int add_default_attributes(void)
  { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS	},
  { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES		},

};
	struct perf_event_attr default_sw_attrs[] = {
  { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK		},
  { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES	},
  { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS		},
  { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS		},
};

/*
@@ -1947,30 +1941,6 @@ static int add_default_attributes(void)
	}

	if (!evsel_list->core.nr_entries) {
		if (perf_pmu__has_hybrid()) {
			struct parse_events_error errinfo;
			const char *hybrid_str = "cycles,instructions,branches,branch-misses";

			if (target__has_cpu(&target))
				default_sw_attrs[0].config = PERF_COUNT_SW_CPU_CLOCK;

			if (evlist__add_default_attrs(evsel_list,
						      default_sw_attrs) < 0) {
				return -1;
			}

			parse_events_error__init(&errinfo);
			err = parse_events(evsel_list, hybrid_str, &errinfo);
			if (err) {
				fprintf(stderr,
					"Cannot set up hybrid events %s: %d\n",
					hybrid_str, err);
				parse_events_error__print(&errinfo, hybrid_str);
			}
			parse_events_error__exit(&errinfo);
			return err ? -1 : 0;
		}

		if (target__has_cpu(&target))
			default_attrs0[0].config = PERF_COUNT_SW_CPU_CLOCK;