All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate
@ 2023-10-12  9:32 Swapnil Sapkal
  2023-10-12  9:32 ` [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut Swapnil Sapkal
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Swapnil Sapkal @ 2023-10-12  9:32 UTC (permalink / raw)
  To: ray.huang, shuah
  Cc: sukrut.bellary, li.meng, gautham.shenoy, wyes.karny, Perry.Yuan,
	Mario.Limonciello, linux-pm, linux-kernel, linux-kselftest,
	Swapnil Sapkal

This series fixes issues observed with selftests/amd-pstate while
running performance comparison tests with different governors. First
patch changes relative paths with absolute paths and also change it
with correct paths wherever it is broken.
The second patch adds an option to provide perf binary path to
handle the case where distro perf does not work.

Changelog v3->v4:
	* Addressed review comments from v3

Swapnil Sapkal (2):
  selftests/amd-pstate: Fix broken paths to run workloads in
    amd-pstate-ut
  selftests/amd-pstate: Added option to provide perf binary path

 .../x86/amd_pstate_tracer/amd_pstate_trace.py |  3 +--
 .../testing/selftests/amd-pstate/gitsource.sh | 17 +++++++++------
 tools/testing/selftests/amd-pstate/run.sh     | 21 +++++++++++++------
 tools/testing/selftests/amd-pstate/tbench.sh  |  4 ++--
 4 files changed, 29 insertions(+), 16 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut
  2023-10-12  9:32 [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Swapnil Sapkal
@ 2023-10-12  9:32 ` Swapnil Sapkal
  2023-10-12 14:45   ` Mario Limonciello
  2023-10-12  9:32 ` [PATCH v4 2/2] selftests/amd-pstate: Added option to provide perf binary path Swapnil Sapkal
  2023-10-16 19:08 ` [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Shuah Khan
  2 siblings, 1 reply; 5+ messages in thread
From: Swapnil Sapkal @ 2023-10-12  9:32 UTC (permalink / raw)
  To: ray.huang, shuah
  Cc: sukrut.bellary, li.meng, gautham.shenoy, wyes.karny, Perry.Yuan,
	Mario.Limonciello, linux-pm, linux-kernel, linux-kselftest,
	Swapnil Sapkal

In selftests/amd-pstate, tbench and gitsource microbenchmarks are
used to compare the performance with different governors. In current
implementation the relative path to run `amd_pstate_tracer.py` is broken.
Fix this by using absolute paths.

Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>
---
 .../x86/amd_pstate_tracer/amd_pstate_trace.py   |  3 +--
 tools/testing/selftests/amd-pstate/gitsource.sh | 17 +++++++++++------
 tools/testing/selftests/amd-pstate/run.sh       |  9 ++++++---
 tools/testing/selftests/amd-pstate/tbench.sh    |  2 +-
 4 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
index 904df0ea0a1e..feb9f9421c7b 100755
--- a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
+++ b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
@@ -30,8 +30,7 @@ import getopt
 import Gnuplot
 from numpy import *
 from decimal import *
-sys.path.append('../intel_pstate_tracer')
-#import intel_pstate_tracer
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "intel_pstate_tracer"))
 import intel_pstate_tracer as ipt
 
 __license__ = "GPL version 2"
diff --git a/tools/testing/selftests/amd-pstate/gitsource.sh b/tools/testing/selftests/amd-pstate/gitsource.sh
index 5f2171f0116d..ab195ddcba4d 100755
--- a/tools/testing/selftests/amd-pstate/gitsource.sh
+++ b/tools/testing/selftests/amd-pstate/gitsource.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: GPL-2.0
 
 # Testing and monitor the cpu desire performance, frequency, load,
@@ -66,12 +66,15 @@ post_clear_gitsource()
 
 install_gitsource()
 {
-	if [ ! -d $git_name ]; then
+	if [ ! -d $SCRIPTDIR/$git_name ]; then
+		pushd $(pwd) > /dev/null 2>&1
+		cd $SCRIPTDIR
 		printf "Download gitsource, please wait a moment ...\n\n"
 		wget -O $git_tar $gitsource_url > /dev/null 2>&1
 
 		printf "Tar gitsource ...\n\n"
 		tar -xzf $git_tar
+		popd > /dev/null 2>&1
 	fi
 }
 
@@ -79,12 +82,14 @@ install_gitsource()
 run_gitsource()
 {
 	echo "Launching amd pstate tracer for $1 #$2 tracer_interval: $TRACER_INTERVAL"
-	./amd_pstate_trace.py -n tracer-gitsource-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
+	$TRACER -n tracer-gitsource-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
 
 	printf "Make and test gitsource for $1 #$2 make_cpus: $MAKE_CPUS\n"
-	cd $git_name
-	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o ../$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > ../$OUTFILE_GIT-perf-$1-$2.log 2>&1
-	cd ..
+	BACKUP_DIR=$(pwd)
+	pushd $BACKUP_DIR > /dev/null 2>&1
+	cd $SCRIPTDIR/$git_name
+	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
+	popd > /dev/null 2>&1
 
 	for job in `jobs -p`
 	do
diff --git a/tools/testing/selftests/amd-pstate/run.sh b/tools/testing/selftests/amd-pstate/run.sh
index de4d8e9c9565..279d073c5728 100755
--- a/tools/testing/selftests/amd-pstate/run.sh
+++ b/tools/testing/selftests/amd-pstate/run.sh
@@ -8,9 +8,12 @@ else
 	FILE_MAIN=DONE
 fi
 
-source basic.sh
-source tbench.sh
-source gitsource.sh
+SCRIPTDIR=`dirname "$0"`
+TRACER=$SCRIPTDIR/../../../power/x86/amd_pstate_tracer/amd_pstate_trace.py
+
+source $SCRIPTDIR/basic.sh
+source $SCRIPTDIR/tbench.sh
+source $SCRIPTDIR/gitsource.sh
 
 # amd-pstate-ut only run on x86/x86_64 AMD systems.
 ARCH=$(uname -m 2>/dev/null | sed -e 's/i.86/x86/' -e 's/x86_64/x86/')
diff --git a/tools/testing/selftests/amd-pstate/tbench.sh b/tools/testing/selftests/amd-pstate/tbench.sh
index 49c9850341f6..4d2e8ce2da3b 100755
--- a/tools/testing/selftests/amd-pstate/tbench.sh
+++ b/tools/testing/selftests/amd-pstate/tbench.sh
@@ -64,7 +64,7 @@ post_clear_tbench()
 run_tbench()
 {
 	echo "Launching amd pstate tracer for $1 #$2 tracer_interval: $TRACER_INTERVAL"
-	./amd_pstate_trace.py -n tracer-tbench-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
+	$TRACER -n tracer-tbench-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
 
 	printf "Test tbench for $1 #$2 time_limit: $TIME_LIMIT procs_num: $PROCESS_NUM\n"
 	tbench_srv > /dev/null 2>&1 &
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v4 2/2] selftests/amd-pstate: Added option to provide perf binary path
  2023-10-12  9:32 [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Swapnil Sapkal
  2023-10-12  9:32 ` [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut Swapnil Sapkal
@ 2023-10-12  9:32 ` Swapnil Sapkal
  2023-10-16 19:08 ` [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Shuah Khan
  2 siblings, 0 replies; 5+ messages in thread
From: Swapnil Sapkal @ 2023-10-12  9:32 UTC (permalink / raw)
  To: ray.huang, shuah
  Cc: sukrut.bellary, li.meng, gautham.shenoy, wyes.karny, Perry.Yuan,
	Mario.Limonciello, linux-pm, linux-kernel, linux-kselftest,
	Swapnil Sapkal, Mario Limonciello

In selftests/amd-pstate, distro `perf` is used to capture `perf stat`
while running microbenchmarks. Distro `perf` is not working with
upstream kernel. Fix this by providing an option to give the perf
binary path.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>
---
 tools/testing/selftests/amd-pstate/gitsource.sh |  2 +-
 tools/testing/selftests/amd-pstate/run.sh       | 12 +++++++++---
 tools/testing/selftests/amd-pstate/tbench.sh    |  2 +-
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/amd-pstate/gitsource.sh b/tools/testing/selftests/amd-pstate/gitsource.sh
index ab195ddcba4d..4cde62f90468 100755
--- a/tools/testing/selftests/amd-pstate/gitsource.sh
+++ b/tools/testing/selftests/amd-pstate/gitsource.sh
@@ -88,7 +88,7 @@ run_gitsource()
 	BACKUP_DIR=$(pwd)
 	pushd $BACKUP_DIR > /dev/null 2>&1
 	cd $SCRIPTDIR/$git_name
-	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
+	$PERF stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
 	popd > /dev/null 2>&1
 
 	for job in `jobs -p`
diff --git a/tools/testing/selftests/amd-pstate/run.sh b/tools/testing/selftests/amd-pstate/run.sh
index 279d073c5728..b053eea8bb19 100755
--- a/tools/testing/selftests/amd-pstate/run.sh
+++ b/tools/testing/selftests/amd-pstate/run.sh
@@ -25,6 +25,7 @@ OUTFILE=selftest
 OUTFILE_TBENCH="$OUTFILE.tbench"
 OUTFILE_GIT="$OUTFILE.gitsource"
 
+PERF=/usr/bin/perf
 SYSFS=
 CPUROOT=
 CPUFREQROOT=
@@ -154,6 +155,7 @@ help()
 	[-p <tbench process number>]
 	[-l <loop times for tbench>]
 	[-i <amd tracer interval>]
+	[-b <perf binary>]
 	[-m <comparative test: acpi-cpufreq>]
 	\n"
 	exit 2
@@ -161,7 +163,7 @@ help()
 
 parse_arguments()
 {
-	while getopts ho:c:t:p:l:i:m: arg
+	while getopts ho:c:t:p:l:i:b:m: arg
 	do
 		case $arg in
 			h) # --help
@@ -192,6 +194,10 @@ parse_arguments()
 				TRACER_INTERVAL=$OPTARG
 				;;
 
+			b) # --perf-binary
+				PERF=`realpath $OPTARG`
+				;;
+
 			m) # --comparative-test
 				COMPARATIVE_TEST=$OPTARG
 				;;
@@ -205,8 +211,8 @@ parse_arguments()
 
 command_perf()
 {
-	if ! command -v perf > /dev/null; then
-		echo $msg please install perf. >&2
+	if ! $PERF -v; then
+		echo $msg please install perf or provide perf binary path as argument >&2
 		exit $ksft_skip
 	fi
 }
diff --git a/tools/testing/selftests/amd-pstate/tbench.sh b/tools/testing/selftests/amd-pstate/tbench.sh
index 4d2e8ce2da3b..2a98d9c9202e 100755
--- a/tools/testing/selftests/amd-pstate/tbench.sh
+++ b/tools/testing/selftests/amd-pstate/tbench.sh
@@ -68,7 +68,7 @@ run_tbench()
 
 	printf "Test tbench for $1 #$2 time_limit: $TIME_LIMIT procs_num: $PROCESS_NUM\n"
 	tbench_srv > /dev/null 2>&1 &
-	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ tbench -t $TIME_LIMIT $PROCESS_NUM > $OUTFILE_TBENCH-perf-$1-$2.log 2>&1
+	$PERF stat -a --per-socket -I 1000 -e power/energy-pkg/ tbench -t $TIME_LIMIT $PROCESS_NUM > $OUTFILE_TBENCH-perf-$1-$2.log 2>&1
 
 	pid=`pidof tbench_srv`
 	kill $pid
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut
  2023-10-12  9:32 ` [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut Swapnil Sapkal
@ 2023-10-12 14:45   ` Mario Limonciello
  0 siblings, 0 replies; 5+ messages in thread
From: Mario Limonciello @ 2023-10-12 14:45 UTC (permalink / raw)
  To: Swapnil Sapkal, ray.huang, shuah
  Cc: sukrut.bellary, li.meng, gautham.shenoy, wyes.karny, Perry.Yuan,
	linux-pm, linux-kernel, linux-kselftest

On 10/12/2023 04:32, Swapnil Sapkal wrote:
> In selftests/amd-pstate, tbench and gitsource microbenchmarks are
> used to compare the performance with different governors. In current
> implementation the relative path to run `amd_pstate_tracer.py` is broken.
> Fix this by using absolute paths.
> 
> Signed-off-by: Swapnil Sapkal <swapnil.sapkal@amd.com>

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>

> ---
>   .../x86/amd_pstate_tracer/amd_pstate_trace.py   |  3 +--
>   tools/testing/selftests/amd-pstate/gitsource.sh | 17 +++++++++++------
>   tools/testing/selftests/amd-pstate/run.sh       |  9 ++++++---
>   tools/testing/selftests/amd-pstate/tbench.sh    |  2 +-
>   4 files changed, 19 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> index 904df0ea0a1e..feb9f9421c7b 100755
> --- a/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> +++ b/tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
> @@ -30,8 +30,7 @@ import getopt
>   import Gnuplot
>   from numpy import *
>   from decimal import *
> -sys.path.append('../intel_pstate_tracer')
> -#import intel_pstate_tracer
> +sys.path.append(os.path.join(os.path.dirname(__file__), "..", "intel_pstate_tracer"))
>   import intel_pstate_tracer as ipt
>   
>   __license__ = "GPL version 2"
> diff --git a/tools/testing/selftests/amd-pstate/gitsource.sh b/tools/testing/selftests/amd-pstate/gitsource.sh
> index 5f2171f0116d..ab195ddcba4d 100755
> --- a/tools/testing/selftests/amd-pstate/gitsource.sh
> +++ b/tools/testing/selftests/amd-pstate/gitsource.sh
> @@ -1,4 +1,4 @@
> -#!/bin/sh
> +#!/bin/bash
>   # SPDX-License-Identifier: GPL-2.0
>   
>   # Testing and monitor the cpu desire performance, frequency, load,
> @@ -66,12 +66,15 @@ post_clear_gitsource()
>   
>   install_gitsource()
>   {
> -	if [ ! -d $git_name ]; then
> +	if [ ! -d $SCRIPTDIR/$git_name ]; then
> +		pushd $(pwd) > /dev/null 2>&1
> +		cd $SCRIPTDIR
>   		printf "Download gitsource, please wait a moment ...\n\n"
>   		wget -O $git_tar $gitsource_url > /dev/null 2>&1
>   
>   		printf "Tar gitsource ...\n\n"
>   		tar -xzf $git_tar
> +		popd > /dev/null 2>&1
>   	fi
>   }
>   
> @@ -79,12 +82,14 @@ install_gitsource()
>   run_gitsource()
>   {
>   	echo "Launching amd pstate tracer for $1 #$2 tracer_interval: $TRACER_INTERVAL"
> -	./amd_pstate_trace.py -n tracer-gitsource-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
> +	$TRACER -n tracer-gitsource-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
>   
>   	printf "Make and test gitsource for $1 #$2 make_cpus: $MAKE_CPUS\n"
> -	cd $git_name
> -	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o ../$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > ../$OUTFILE_GIT-perf-$1-$2.log 2>&1
> -	cd ..
> +	BACKUP_DIR=$(pwd)
> +	pushd $BACKUP_DIR > /dev/null 2>&1
> +	cd $SCRIPTDIR/$git_name
> +	perf stat -a --per-socket -I 1000 -e power/energy-pkg/ /usr/bin/time -o $BACKUP_DIR/$OUTFILE_GIT.time-gitsource-$1-$2.log make test -j$MAKE_CPUS > $BACKUP_DIR/$OUTFILE_GIT-perf-$1-$2.log 2>&1
> +	popd > /dev/null 2>&1
>   
>   	for job in `jobs -p`
>   	do
> diff --git a/tools/testing/selftests/amd-pstate/run.sh b/tools/testing/selftests/amd-pstate/run.sh
> index de4d8e9c9565..279d073c5728 100755
> --- a/tools/testing/selftests/amd-pstate/run.sh
> +++ b/tools/testing/selftests/amd-pstate/run.sh
> @@ -8,9 +8,12 @@ else
>   	FILE_MAIN=DONE
>   fi
>   
> -source basic.sh
> -source tbench.sh
> -source gitsource.sh
> +SCRIPTDIR=`dirname "$0"`
> +TRACER=$SCRIPTDIR/../../../power/x86/amd_pstate_tracer/amd_pstate_trace.py
> +
> +source $SCRIPTDIR/basic.sh
> +source $SCRIPTDIR/tbench.sh
> +source $SCRIPTDIR/gitsource.sh
>   
>   # amd-pstate-ut only run on x86/x86_64 AMD systems.
>   ARCH=$(uname -m 2>/dev/null | sed -e 's/i.86/x86/' -e 's/x86_64/x86/')
> diff --git a/tools/testing/selftests/amd-pstate/tbench.sh b/tools/testing/selftests/amd-pstate/tbench.sh
> index 49c9850341f6..4d2e8ce2da3b 100755
> --- a/tools/testing/selftests/amd-pstate/tbench.sh
> +++ b/tools/testing/selftests/amd-pstate/tbench.sh
> @@ -64,7 +64,7 @@ post_clear_tbench()
>   run_tbench()
>   {
>   	echo "Launching amd pstate tracer for $1 #$2 tracer_interval: $TRACER_INTERVAL"
> -	./amd_pstate_trace.py -n tracer-tbench-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
> +	$TRACER -n tracer-tbench-$1-$2 -i $TRACER_INTERVAL > /dev/null 2>&1 &
>   
>   	printf "Test tbench for $1 #$2 time_limit: $TIME_LIMIT procs_num: $PROCESS_NUM\n"
>   	tbench_srv > /dev/null 2>&1 &


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate
  2023-10-12  9:32 [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Swapnil Sapkal
  2023-10-12  9:32 ` [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut Swapnil Sapkal
  2023-10-12  9:32 ` [PATCH v4 2/2] selftests/amd-pstate: Added option to provide perf binary path Swapnil Sapkal
@ 2023-10-16 19:08 ` Shuah Khan
  2 siblings, 0 replies; 5+ messages in thread
From: Shuah Khan @ 2023-10-16 19:08 UTC (permalink / raw)
  To: Swapnil Sapkal, ray.huang, shuah
  Cc: sukrut.bellary, li.meng, gautham.shenoy, wyes.karny, Perry.Yuan,
	Mario.Limonciello, linux-pm, linux-kernel, linux-kselftest,
	Shuah Khan

On 10/12/23 03:32, Swapnil Sapkal wrote:
> This series fixes issues observed with selftests/amd-pstate while
> running performance comparison tests with different governors. First
> patch changes relative paths with absolute paths and also change it
> with correct paths wherever it is broken.
> The second patch adds an option to provide perf binary path to
> handle the case where distro perf does not work.
> 
> Changelog v3->v4:
> 	* Addressed review comments from v3
> 
> Swapnil Sapkal (2):
>    selftests/amd-pstate: Fix broken paths to run workloads in
>      amd-pstate-ut
>    selftests/amd-pstate: Added option to provide perf binary path
> 
>   .../x86/amd_pstate_tracer/amd_pstate_trace.py |  3 +--
>   .../testing/selftests/amd-pstate/gitsource.sh | 17 +++++++++------
>   tools/testing/selftests/amd-pstate/run.sh     | 21 +++++++++++++------
>   tools/testing/selftests/amd-pstate/tbench.sh  |  4 ++--
>   4 files changed, 29 insertions(+), 16 deletions(-)
> 

Both applied to linux-kselftest next for Linux 6.7-rc1

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-16 19:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-12  9:32 [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Swapnil Sapkal
2023-10-12  9:32 ` [PATCH v4 1/2] selftests/amd-pstate: Fix broken paths to run workloads in amd-pstate-ut Swapnil Sapkal
2023-10-12 14:45   ` Mario Limonciello
2023-10-12  9:32 ` [PATCH v4 2/2] selftests/amd-pstate: Added option to provide perf binary path Swapnil Sapkal
2023-10-16 19:08 ` [PATCH v4 0/2] Fix issues observed in selftests/amd-pstate Shuah Khan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.