From: Huang Rui <ray.huang@amd.com>
To: "Meng, Li (Jassmine)" <Li.Meng@amd.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
"Fontenot, Nathan" <Nathan.Fontenot@amd.com>,
"Sharma, Deepak" <Deepak.Sharma@amd.com>,
"Deucher, Alexander" <Alexander.Deucher@amd.com>,
"Limonciello, Mario" <Mario.Limonciello@amd.com>,
"Su, Jinzhou (Joe)" <Jinzhou.Su@amd.com>,
"Yuan, Perry" <Perry.Yuan@amd.com>,
"Du, Xiaojian" <Xiaojian.Du@amd.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Borislav Petkov <bp@alien8.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V8 0/4] Add unit test module for AMD P-State driver
Date: Thu, 26 May 2022 15:31:37 +0800 [thread overview]
Message-ID: <Yo8s2Tn0EKohq/k2@amd.com> (raw)
In-Reply-To: <20220526034725.1708916-1-li.meng@amd.com>
These series look pretty good for me, thank you Jassmine!
Thanks,
Ray
On Thu, May 26, 2022 at 11:47:21AM +0800, Meng, Li (Jassmine) wrote:
> Hi all:
>
> 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
>
> --
> 2.25.1
>
next prev parent reply other threads:[~2022-05-26 7:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-26 3:47 [PATCH V8 0/4] Add unit test module for AMD P-State driver Meng Li
2022-05-26 3:47 ` [V8 PATCH 1/4] cpufreq: amd-pstate: Expose struct amd_cpudata Meng Li
2022-05-26 3:47 ` [V8 PATCH 2/4] cpufreq: amd-pstate: Add test module for amd-pstate driver Meng Li
2022-05-26 3:47 ` [V8 PATCH 3/4] selftests: amd-pstate: Add test trigger " Meng Li
2022-05-26 3:47 ` [V8 PATCH 4/4] Documentation: amd-pstate: Add unit test introduction Meng Li
2022-05-26 7:31 ` Huang Rui [this message]
2022-05-26 15:44 ` [PATCH V8 0/4] Add unit test module for AMD P-State driver Shuah Khan
2022-06-09 20:28 ` Shuah Khan
2022-06-16 8:27 ` Huang Rui
2022-08-15 22:54 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yo8s2Tn0EKohq/k2@amd.com \
--to=ray.huang@amd.com \
--cc=Alexander.Deucher@amd.com \
--cc=Deepak.Sharma@amd.com \
--cc=Jinzhou.Su@amd.com \
--cc=Li.Meng@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Nathan.Fontenot@amd.com \
--cc=Perry.Yuan@amd.com \
--cc=Xiaojian.Du@amd.com \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=skhan@linuxfoundation.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox