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

From: James Clark
Date: Wed Jun 14 2023 - 10:19:25 EST




On 14/06/2023 15:13, Arnaldo Carvalho de Melo wrote:
> Em Wed, Jun 14, 2023 at 03:02:19PM +0100, James Clark escreveu:
>> 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.
>
> Would be interesting to add the Kconfig maintainer to see if they have
> an opinion, Masahiro?
>
> - Arnaldo
>

One concern I have is that uname -m gives a different result to the
ARCH= option for a kernel build (ARCH=arm64). Probably the build time
version is more useful to us so maybe that should be the file name. Not
sure what the x86 version is or if anyone is actually doing cross x86
builds...

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