linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Huang Rui <ray.huang@amd.com>
To: Shuah Khan <skhan@linuxfoundation.org>
Cc: "Meng, Li (Jassmine)" <Li.Meng@amd.com>,
	"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 V5 0/3] Add unit test module for AMD P-State driver
Date: Wed, 18 May 2022 13:19:36 +0800	[thread overview]
Message-ID: <YoSB6JRplJR79Beu@amd.com> (raw)
In-Reply-To: <27434868-1d0f-4493-3265-bea4e1dc8494@linuxfoundation.org>

On Wed, May 18, 2022 at 04:03:05AM +0800, Shuah Khan wrote:
> On 5/17/22 8:45 AM, Shuah Khan wrote:
> > On 5/5/22 12:41 AM, Huang Rui wrote:
> >> On Thu, May 05, 2022 at 10:29:10AM +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.
> >>>
> >>> Please check the documentation amd-pstate.rst for details of the test steps.
> >>>
> >>> See patch series in below git repo:
> >>> V1: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flinux-pm%2F20220323071502.2674156-1-li.meng%40amd.com%2F&amp;data=05%7C01%7Cray.huang%40amd.com%7C267a994f51e34371021c08da384042f1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637884145911708064%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=m9BlIFlf8IEeSGjycWdppnIMoZTbfmi3tIsuRJZL6cw%3D&amp;reserved=0
> >>> V2: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F20220413090510.4039589-1-li.meng%40amd.com%2F&amp;data=05%7C01%7Cray.huang%40amd.com%7C267a994f51e34371021c08da384042f1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637884145911708064%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=h1o69SJ5iaVChb1h8a3FZURAeKAj6vlB%2FmR%2BtfmpoE4%3D&amp;reserved=0
> >>> V3: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F20220421074152.599419-1-li.meng%40amd.com%2F&amp;data=05%7C01%7Cray.huang%40amd.com%7C267a994f51e34371021c08da384042f1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637884145911708064%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=WcXo7q2snNWM8nUSF08HjPDB7UuwFMDTTwe6zLcXHyY%3D&amp;reserved=0
> >>> V4: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F20220427135315.3447550-1-li.meng%40amd.com%2F&amp;data=05%7C01%7Cray.huang%40amd.com%7C267a994f51e34371021c08da384042f1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637884145911708064%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Rnn9bLhc1sDkNyBlmwmb8Zy4IJUKwtIq0M0qhcUbdM8%3D&amp;reserved=0
> >>>
> > 
> >>> 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
> >>>
> >>> Thanks,
> >>> Jasmine
> >>>
> > 
> > Sorry for the delay on this. I will review the series in the next couple
> > of days.
> > 
> > Did you consider using KUnit for this? I think asked that question when
> > reviewing the previous version.
> > 
> 
> I reviewed the patches and the test driver amd-pstate-ut doesn't belong under
> selftests. I would recommend the following approach:
> 
> - add this test driver under drivers/cpufreq
> 
> - KUnit is a better fit for this unit test driver unless you want
>    to be able to run this without KUnit configured
> 
> - add the test script under selftests - the script then can load the
>    test driver and run tests and unload the driver.
> 

Thanks Shuah. We would like to introduce more CPU benchmark testing based
the amd-pstate-ut next step, it may not be all the stuff in the kernel
module. 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. Can the KUnit +
Kselftests work more straight forward in user scenario?

Thanks,
Ray

  reply	other threads:[~2022-05-18  5:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-05  2:29 [PATCH V5 0/3] Add unit test module for AMD P-State driver Meng Li
2022-05-05  2:29 ` [PATCH V5 1/3] cpufreq: amd-pstate: Expose struct amd_cpudata Meng Li
2022-05-05  2:29 ` [PATCH V5 2/3] selftests: amd-pstate: Add test module for amd-pstate driver Meng Li
2022-05-05  2:29 ` [PATCH V5 3/3] Documentation: amd-pstate: Add unit test introduction Meng Li
2022-05-05  6:41 ` [PATCH V5 0/3] Add unit test module for AMD P-State driver Huang Rui
2022-05-17 14:45   ` Shuah Khan
2022-05-17 20:03     ` Shuah Khan
2022-05-18  5:19       ` Huang Rui [this message]
2022-05-18 20:02         ` 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=YoSB6JRplJR79Beu@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;
as well as URLs for NNTP newsgroup(s).