[RFC PATCH] perf tools: Add a place to put kernel config fragments for test runs

From: James Clark
Date: Wed Jun 14 2023 - 10:02:51 EST


We are currently keeping something like this in our CI because defconfig
doesn't give full coverage. It's not complete yet, but is a starting
point as a place to add to when a specific test needs something extra to
run.

The RFC is for discussion on folder placement and file naming etc.

Signed-off-by: James Clark <james.clark@xxxxxxx>
---
tools/perf/tests/config-fragments/README | 7 +++++++
tools/perf/tests/config-fragments/aarch64 | 1 +
tools/perf/tests/config-fragments/config | 11 +++++++++++
3 files changed, 19 insertions(+)
create mode 100644 tools/perf/tests/config-fragments/README
create mode 100644 tools/perf/tests/config-fragments/aarch64
create mode 100644 tools/perf/tests/config-fragments/config

diff --git a/tools/perf/tests/config-fragments/README b/tools/perf/tests/config-fragments/README
new file mode 100644
index 000000000000..e816cfb1b96d
--- /dev/null
+++ b/tools/perf/tests/config-fragments/README
@@ -0,0 +1,7 @@
+This folder is for kernel config fragments that can be merged with
+defconfig to give full test coverage of a perf test run. This is only
+an optimistic set as some features require hardware support in order to
+pass and not skip.
+
+'config' is shared across all platforms, and for arch specific files,
+the file name should match that returned by 'uname -m'.
diff --git a/tools/perf/tests/config-fragments/aarch64 b/tools/perf/tests/config-fragments/aarch64
new file mode 100644
index 000000000000..64c4ab17cd58
--- /dev/null
+++ b/tools/perf/tests/config-fragments/aarch64
@@ -0,0 +1 @@
+CONFIG_CORESIGHT_SOURCE_ETM4X=y
diff --git a/tools/perf/tests/config-fragments/config b/tools/perf/tests/config-fragments/config
new file mode 100644
index 000000000000..c340b3195fca
--- /dev/null
+++ b/tools/perf/tests/config-fragments/config
@@ -0,0 +1,11 @@
+CONFIG_TRACEPOINTS=y
+CONFIG_STACKTRACE=y
+CONFIG_NOP_TRACER=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_FTRACE=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_BRANCH_PROFILE_NONE=y
--
2.34.1