lkml.org 
[lkml]   [2022]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RESEND PATCH 0/4] Add unit test module for AMD P-State driver
From
Date
On 8/16/22 9:46 PM, Meng Li wrote:
> Hi all:
>
> According to shuah's review comments, update the patches based on
> https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/log/?h=next
>
> AMD P-State unit test(amd-pstate-ut) is a kernel module for testing the
> functions of amd-pstate driver.
> It could import as a module to launch some test tasks.
> 1) It can help all users to verify their processor support (SBIOS/
> Firmware or Hardware).
> 2) Kernel can have a basic function test to avoid the kernel regression
> during the update.
> 3) We can introduce more functional or performance tests to align the
> together, it will benefit power and performance scale optimization.
>
> We upstream out AMD P-state driver into Linux kernel and use this unit
> test module to verify the required conditions and basic functions of
> amd-pstate before integration test.
>
> We use test module in the kselftest frameworks to implement it.
> We create amd-pstate-ut module and tie it into kselftest.
>
> For example: The test case aput_acpi_cpc is used to check whether the
> _CPC object is exist in SBIOS.
> The amd-pstate initialization will fail if the _CPC in ACPI SBIOS is not
> existed at the detected processor, so it is a necessary condition.
>
> At present, it only implements the basic framework and some simple test
> cases.
>
> TODO : 1) we will add more test cases to improve the depth and coverage
> of the test. E.X. use the script to trigger the tbench, gitsource,
> kernbench, netperf, speedometer, and etc. testing and monitor the cpu
> frequency and performance goals change, power consumption at runtime.
>
> Please check the documentation amd-pstate.rst for details of the test
> steps.
>
> See patch series in below git repo:
> V1: https://lore.kernel.org/linux-pm/20220323071502.2674156-1-li.meng@amd.com/
> V2: https://lore.kernel.org/lkml/20220413090510.4039589-1-li.meng@amd.com/
> V3: https://lore.kernel.org/lkml/20220421074152.599419-1-li.meng@amd.com/
> V4: https://lore.kernel.org/lkml/20220427135315.3447550-1-li.meng@amd.com/
> V5: https://lore.kernel.org/lkml/20220505022913.329259-1-li.meng@amd.com/
> V6: https://lore.kernel.org/lkml/20220519134737.359290-1-li.meng@amd.com/
> V7: https://lore.kernel.org/lkml/20220522115423.1147282-1-li.meng@amd.com/
>
> Changes from V1 -> V2:
> - cpufreq: amd-pstate:
> - - add a trailing of amd-pstate.h to MAINTAINER AMD PSTATE DRIVER.
> - selftests: cpufreq:
> - - add a wrapper shell script for the amd_pstate_testmod module.
> - selftests: cpufreq:
> - - remove amd_pstate_testmod kernel module to
> .../cpufreq/amd_pstate_testmod.
> - Documentation: amd-pstate:
> - - amd_pstate_testmod rst document is not provided at present.
>
> Changes from V2 -> V3:
> - cpufreq: amd-pstate:
> - - adjust the order of add amd-pstate.h in MAINTAINERS.
> - selftests: cpufreq:
> - - remove the call of amd_pstate_testmod.sh from cpufreq Makefile to
> main.sh.
> - selftests: cpufreq:
> - - add explain the goal or intention of the AMD P-State Unit Test
> module.
> - - modify comments.
> - - use the checkpatch.pl to check my patches.
> - - add conditions judgment before formal test.
> - - delete some unnecessary test cases.
> - - modify test cases about perf and performance etc.
>
> Changes from V3 -> V4:
> - selftests: amd-pstate:
> - - remove script and test module to tools/testing/selftests/amd-pstate/
> - - uniformly named amd-pstate-ut.
> - - check current architectures and cpufreq driver in amd-pstate-ut.sh
> - - delete codes about conditions in amd-pstate-ut.c
> - Documentation: amd-pstate:
> - - add introduce document about amd-pstate unit test.
>
> Changes from V4 -> V5:
> - selftests: amd-pstate:
> - - add print the current scaling_driver.
> - - add amd-pstate-ut.ko into TEST_GEN_FILES.
> - - move "insmod/rmmod amd-pstate-ut.ko" stuff into script
> amd_pstate_ut.sh
> - - add a check of read back from X86_FEATURE_CPPC in get_shared_mem().
> - Documentation: amd-pstate:
> - - delete the test step about insmod/rmmod amd-pstate-ut.ko
>
> Changes from V5 -> V6:
> - cpufreq: amd-pstate:
> - - add amd-pstate-ut test codes to drivers/cpurfreq
> - - add the macro CONFIG_X86_AMD_PSTATE_UT
> - selftests: amd-pstate:
> - - delete amd-pstate-ut test codes from
> tools/testing/selftests/amd-pstate/
>
> Changes from V6 -> V7:
> - cpufreq: amd-pstate:
> - - modify X86_AMD_PSTATE_UT dependencies and default value.
> - - modify a brief description of the amd-pstate-ut module.
> - - remove kselftest_module.h header include.
> - - modify shortform for AMD P-State unit test.
> - - add prefix for the names of test cases.
> - - in the file operation log, add the file path.
> - - add comments about the test cases.
> - - correct syntax errors.
> - selftests: amd-pstate:
> - - delete TEST_GEN_FILES$(TEST_GEN_FILES): $(HEADERS) form amd-pstate
> Makefile.
> - - simplify the judgment about ARCH.
> - - add the judgment about cpu vendor.
> - - modify the method about load the amd-pstate-ut module.
> - Documentation: amd-pstate:
> - - update the name of the test function.
> - - update kernel log about test result.
>
> Changes from V7 -> V8:
> - cpufreq: amd-pstate:
> - - amend commit message.
> - - amend module description.
> - Documentation: amd-pstate:
> - - amend commit message.
> - - Remove the personal data.
>
> Thanks,
> Jasmine
>
> Meng Li (4):
> cpufreq: amd-pstate: Expose struct amd_cpudata
> cpufreq: amd-pstate: Add test module for amd-pstate driver
> selftests: amd-pstate: Add test trigger for amd-pstate driver
> Documentation: amd-pstate: Add unit test introduction
>
> Documentation/admin-guide/pm/amd-pstate.rst | 76 +++++
> MAINTAINERS | 1 +
> drivers/cpufreq/Kconfig.x86 | 7 +
> drivers/cpufreq/Makefile | 1 +
> drivers/cpufreq/amd-pstate-ut.c | 293 ++++++++++++++++++
> drivers/cpufreq/amd-pstate.c | 60 +---
> include/linux/amd-pstate.h | 77 +++++
> tools/testing/selftests/Makefile | 1 +
> tools/testing/selftests/amd-pstate/Makefile | 9 +
> .../selftests/amd-pstate/amd-pstate-ut.sh | 55 ++++
> tools/testing/selftests/amd-pstate/config | 1 +
> 11 files changed, 522 insertions(+), 59 deletions(-)
> create mode 100644 drivers/cpufreq/amd-pstate-ut.c
> create mode 100644 include/linux/amd-pstate.h
> create mode 100644 tools/testing/selftests/amd-pstate/Makefile
> create mode 100755 tools/testing/selftests/amd-pstate/amd-pstate-ut.sh
> create mode 100644 tools/testing/selftests/amd-pstate/config
>

Rafael, Viresh,

I plan to apply these patches to linux-kselftest next for Linux 6.1
Please let me know if you have any objections.

thanks,
-- Shuah

\
 
 \ /
  Last update: 2022-08-24 23:58    [W:0.224 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site