[PATCH v2 0/3] Add unit test module for AMD P-State driver

Meng Li posted 3 patches 3 years, 8 months ago
There is a newer version of this series
MAINTAINERS                                   |   1 +
drivers/cpufreq/amd-pstate.c                  |  60 +---
include/linux/amd-pstate.h                    |  74 +++++
tools/testing/selftests/cpufreq/Makefile      |   2 +-
.../selftests/cpufreq/amd_pstate_testmod.sh   |   4 +
.../cpufreq/amd_pstate_testmod/Makefile       |  20 ++
.../amd_pstate_testmod/amd_pstate_testmod.c   | 302 ++++++++++++++++++
tools/testing/selftests/cpufreq/config        |   1 +
8 files changed, 404 insertions(+), 60 deletions(-)
create mode 100644 include/linux/amd-pstate.h
create mode 100755 tools/testing/selftests/cpufreq/amd_pstate_testmod.sh
create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/Makefile
create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/amd_pstate_testmod.c
[PATCH v2 0/3] Add unit test module for AMD P-State driver
Posted by Meng Li 3 years, 8 months ago
Hi all:

AMD P-State unit test(amd_pstate_testmod) is a kernel module for testing
the functions of amd-pstate driver.
It could import as a module to launch some test tasks.

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_testmod module and tie it into kselftest.

For exmaple: 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, its test cases are very simple, and the corresponding test
cases will continue to be added later to improve the test coverage.

See patch series in below git repo:
V1: https://lore.kernel.org/linux-pm/20220323071502.2674156-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.

Thanks,
Jasmine

Meng Li (3):
  cpufreq: amd-pstate: Expose struct amd_cpudata
  selftests: cpufreq: Add wapper script for test AMD P-State
  selftests: cpufreq: Add amd_pstate_testmod kernel module for testing

 MAINTAINERS                                   |   1 +
 drivers/cpufreq/amd-pstate.c                  |  60 +---
 include/linux/amd-pstate.h                    |  74 +++++
 tools/testing/selftests/cpufreq/Makefile      |   2 +-
 .../selftests/cpufreq/amd_pstate_testmod.sh   |   4 +
 .../cpufreq/amd_pstate_testmod/Makefile       |  20 ++
 .../amd_pstate_testmod/amd_pstate_testmod.c   | 302 ++++++++++++++++++
 tools/testing/selftests/cpufreq/config        |   1 +
 8 files changed, 404 insertions(+), 60 deletions(-)
 create mode 100644 include/linux/amd-pstate.h
 create mode 100755 tools/testing/selftests/cpufreq/amd_pstate_testmod.sh
 create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/Makefile
 create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/amd_pstate_testmod.c

-- 
2.25.1
Re: [PATCH v2 0/3] Add unit test module for AMD P-State driver
Posted by Rafael J. Wysocki 3 years, 8 months ago
On Wed, Apr 13, 2022 at 11:06 AM Meng Li <li.meng@amd.com> wrote:
>
> Hi all:
>
> AMD P-State unit test(amd_pstate_testmod) is a kernel module for testing
> the functions of amd-pstate driver.
> It could import as a module to launch some test tasks.
>
> 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_testmod module and tie it into kselftest.
>
> For exmaple: 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, its test cases are very simple, and the corresponding test
> cases will continue to be added later to improve the test coverage.
>
> See patch series in below git repo:
> V1: https://lore.kernel.org/linux-pm/20220323071502.2674156-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.
>
> Thanks,
> Jasmine
>
> Meng Li (3):
>   cpufreq: amd-pstate: Expose struct amd_cpudata

Please collect an ACK from Ray for this one as per MAINTAINERS and I
will leave the series to Shuah as it is selftests mostly.

Thanks!

>   selftests: cpufreq: Add wapper script for test AMD P-State
>   selftests: cpufreq: Add amd_pstate_testmod kernel module for testing
>
>  MAINTAINERS                                   |   1 +
>  drivers/cpufreq/amd-pstate.c                  |  60 +---
>  include/linux/amd-pstate.h                    |  74 +++++
>  tools/testing/selftests/cpufreq/Makefile      |   2 +-
>  .../selftests/cpufreq/amd_pstate_testmod.sh   |   4 +
>  .../cpufreq/amd_pstate_testmod/Makefile       |  20 ++
>  .../amd_pstate_testmod/amd_pstate_testmod.c   | 302 ++++++++++++++++++
>  tools/testing/selftests/cpufreq/config        |   1 +
>  8 files changed, 404 insertions(+), 60 deletions(-)
>  create mode 100644 include/linux/amd-pstate.h
>  create mode 100755 tools/testing/selftests/cpufreq/amd_pstate_testmod.sh
>  create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/Makefile
>  create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/amd_pstate_testmod.c
>
> --
> 2.25.1
>
Re: [PATCH v2 0/3] Add unit test module for AMD P-State driver
Posted by Huang Rui 3 years, 8 months ago
On Wed, Apr 13, 2022 at 11:41:44PM +0800, Rafael J. Wysocki wrote:
> On Wed, Apr 13, 2022 at 11:06 AM Meng Li <li.meng@amd.com> wrote:
> >
> > Hi all:
> >
> > AMD P-State unit test(amd_pstate_testmod) is a kernel module for testing
> > the functions of amd-pstate driver.
> > It could import as a module to launch some test tasks.
> >
> > 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_testmod module and tie it into kselftest.
> >
> > For exmaple: 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, its test cases are very simple, and the corresponding test
> > cases will continue to be added later to improve the test coverage.
> >
> > 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=04%7C01%7Cray.huang%40amd.com%7C7a5d4998e2ca413a215b08da1d6425e4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637854613222577975%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=8fAzN5hea4sVO5E7%2B9Uh9VSsyt29gM2%2FCkMXHS0%2FfP4%3D&amp;reserved=0
> >
> > 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.
> >
> > Thanks,
> > Jasmine
> >
> > Meng Li (3):
> >   cpufreq: amd-pstate: Expose struct amd_cpudata
> 
> Please collect an ACK from Ray for this one as per MAINTAINERS and I
> will leave the series to Shuah as it is selftests mostly.
> 
> Thanks!
> 

Thanks, Rafael!

Jassmine, I think you can mark all patches as "v2" not only the cover
letter. Then we can separate these series easily.

Thanks,
Ray

> >   selftests: cpufreq: Add wapper script for test AMD P-State
> >   selftests: cpufreq: Add amd_pstate_testmod kernel module for testing
> >
> >  MAINTAINERS                                   |   1 +
> >  drivers/cpufreq/amd-pstate.c                  |  60 +---
> >  include/linux/amd-pstate.h                    |  74 +++++
> >  tools/testing/selftests/cpufreq/Makefile      |   2 +-
> >  .../selftests/cpufreq/amd_pstate_testmod.sh   |   4 +
> >  .../cpufreq/amd_pstate_testmod/Makefile       |  20 ++
> >  .../amd_pstate_testmod/amd_pstate_testmod.c   | 302 ++++++++++++++++++
> >  tools/testing/selftests/cpufreq/config        |   1 +
> >  8 files changed, 404 insertions(+), 60 deletions(-)
> >  create mode 100644 include/linux/amd-pstate.h
> >  create mode 100755 tools/testing/selftests/cpufreq/amd_pstate_testmod.sh
> >  create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/Makefile
> >  create mode 100644 tools/testing/selftests/cpufreq/amd_pstate_testmod/amd_pstate_testmod.c
> >
> > --
> > 2.25.1
> >