Hi,
This patchset adds support for cpufreq selftests to the kernel selftest
framework. More details can be found on individual patches.
These are all tested after installation of selftests on ARM Dual A15
core Exynos platform.
The content of the output file for the basic tests looks like this:
http://pastebin.com/nBY9AfD5 .
--
viresh
Viresh Kumar (4):
selftest: cpufreq: Add support for cpufreq tests
selftest: cpufreq: Add suspend/resume/hibernate support
selftest: cpufreq: Add support to test cpufreq modules
selftest: cpufreq: Add special tests
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/cpufreq/Makefile | 8 +
tools/testing/selftests/cpufreq/cpu.sh | 84 ++++++++
tools/testing/selftests/cpufreq/cpufreq.sh | 241 ++++++++++++++++++++++
tools/testing/selftests/cpufreq/governor.sh | 153 ++++++++++++++
tools/testing/selftests/cpufreq/main.sh | 194 ++++++++++++++++++
tools/testing/selftests/cpufreq/module.sh | 243 +++++++++++++++++++++++
tools/testing/selftests/cpufreq/special-tests.sh | 115 +++++++++++
8 files changed, 1039 insertions(+)
create mode 100644 tools/testing/selftests/cpufreq/Makefile
create mode 100755 tools/testing/selftests/cpufreq/cpu.sh
create mode 100755 tools/testing/selftests/cpufreq/cpufreq.sh
create mode 100755 tools/testing/selftests/cpufreq/governor.sh
create mode 100755 tools/testing/selftests/cpufreq/main.sh
create mode 100755 tools/testing/selftests/cpufreq/module.sh
create mode 100755 tools/testing/selftests/cpufreq/special-tests.sh
--
2.7.1.410.g6faf27b
Hi,
An earlier series[1] tried to implement bindings for PM domain
performance states. Rob Herring suggested that we can actually write the
supporting code first instead of bindings, as that will make things
easier to understand for all.
The bindings [1] aren't discarded yet and this series is based on a
version of those only. The bindings are only used by the last patch,
which should not be applied and is only sent for completeness.
All other patches can be reviewed/applied whenever the maintainers feel
they look good.
A brief summary of the problem this series is trying to solve:
Some platforms have the capability to configure the performance state of
their Power Domains. The performance levels are represented by positive
integer values, a lower value represents lower performance state.
We decided earlier that we should extend Power Domain framework to
support active state power management as well. The power-domains until
now were only concentrating on the idle state management of the device
and this needs to change in order to reuse the infrastructure of power
domains for active state management.
The first 5 patches update the PM domain and QoS frameworks to support
that and the last one presents the front end interface to it.
All the patches are tested by hacking the OPP core a bit for now.
--
viresh
[1] https://marc.info/?l=linux-kernel&m=148154020127722&w=2
Viresh Kumar (6):
PM / QOS: Add default case to the switch
PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier()
PM / QOS: Add 'performance' request
PM / domain: Register for PM QOS performance notifier
PM / domain: Save/restore performance state at runtime suspend/resume
PM / OPP: Add support to parse domain-performance-state
Documentation/power/pm_qos_interface.txt | 11 ++--
drivers/base/power/domain.c | 102 ++++++++++++++++++++++++++++---
drivers/base/power/opp/core.c | 75 +++++++++++++++++++++++
drivers/base/power/opp/debugfs.c | 4 ++
drivers/base/power/opp/of.c | 44 +++++++++++++
drivers/base/power/opp/opp.h | 12 ++++
drivers/base/power/qos.c | 74 +++++++++++++++++++---
include/linux/pm_domain.h | 6 ++
include/linux/pm_qos.h | 16 +++--
9 files changed, 322 insertions(+), 22 deletions(-)
--
2.7.1.410.g6faf27b
Tree/Branch: next-20170206
Git describe: next-20170206
Commit: ce05054690 Add linux-next specific files for 20170206
Build Time: 108 min 11 sec
Passed: 8 / 10 ( 80.00 %)
Failed: 2 / 10 ( 20.00 %)
Errors: 2
Warnings: 16
Section Mismatches: 0
Failed defconfigs:
arm-allnoconfig
Errors:
arm-allnoconfig
../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
1 warnings 0 mismatches : x86_64-allnoconfig
1 warnings 0 mismatches : arm64-allnoconfig
11 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm-allnoconfig
6 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Errors summary: 2
1 ../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
1 ../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
Warnings Summary: 16
3 warning: (CRYPTO_DEV_ATMEL_AUTHENC) selects CRYPTO_DEV_ATMEL_SHA which has unmet direct dependencies (CRYPTO && CRYPTO_HW && ARCH_AT91)
3 ../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
1 ../include/linux/dynamic_debug.h:126:3: warning: 'ept_cfg' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:814:40: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/iio/adc/rcar-gyroadc.c:429:27: warning: 'num_channels' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/iio/adc/rcar-gyroadc.c:428:23: warning: 'channels' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/iio/adc/rcar-gyroadc.c:426:22: warning: 'sample_width' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/iio/adc/rcar-gyroadc.c:398:26: warning: 'adcmode' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/crypto/atmel-sha.c:997:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:817:27: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:775:19: warning: format '%u' expects argument of type 'unsigned int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:747:19: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:726:26: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:647:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:600:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 ../drivers/crypto/atmel-sha.c:571:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 11 warnings, 0 section mismatches
Warnings:
warning: (CRYPTO_DEV_ATMEL_AUTHENC) selects CRYPTO_DEV_ATMEL_SHA which has unmet direct dependencies (CRYPTO && CRYPTO_HW && ARCH_AT91)
warning: (CRYPTO_DEV_ATMEL_AUTHENC) selects CRYPTO_DEV_ATMEL_SHA which has unmet direct dependencies (CRYPTO && CRYPTO_HW && ARCH_AT91)
warning: (CRYPTO_DEV_ATMEL_AUTHENC) selects CRYPTO_DEV_ATMEL_SHA which has unmet direct dependencies (CRYPTO && CRYPTO_HW && ARCH_AT91)
../drivers/crypto/atmel-sha.c:571:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:600:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:647:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:726:26: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:747:19: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:775:19: warning: format '%u' expects argument of type 'unsigned int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:817:27: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'size_t {aka long unsigned int}' [-Wformat=]
../drivers/crypto/atmel-sha.c:997:19: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 2 errors, 1 warnings, 0 section mismatches
Errors:
../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
../drivers/iio/adc/rcar-gyroadc.c:429:27: warning: 'num_channels' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/iio/adc/rcar-gyroadc.c:426:22: warning: 'sample_width' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/iio/adc/rcar-gyroadc.c:428:23: warning: 'channels' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/iio/adc/rcar-gyroadc.c:398:26: warning: 'adcmode' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:814:40: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../include/linux/dynamic_debug.h:126:3: warning: 'ept_cfg' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm-multi_v4t_defconfig
x86_64-defconfig
arm-multi_v7_defconfig
arm-multi_v5_defconfig
arm64-defconfig
Tree/Branch: next-20170202
Git describe: next-20170202
Commit: c356cf7a65 Add linux-next specific files for 20170202
Build Time: 94 min 58 sec
Passed: 6 / 10 ( 60.00 %)
Failed: 4 / 10 ( 40.00 %)
Errors: 4
Warnings: 7
Section Mismatches: 0
Failed defconfigs:
arm64-allmodconfig
arm-allnoconfig
arm-allmodconfig
Errors:
arm64-allmodconfig
../drivers/staging/bcm2835-audio/bcm2835-vchiq.c:97:9: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
arm-allnoconfig
../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
arm-allmodconfig
../drivers/staging/bcm2835-audio/bcm2835-vchiq.c:97:9: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
../drivers/staging/media/platform/bcm2835/mmal-vchiq.c:453:8: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
1 warnings 0 mismatches : x86_64-allnoconfig
1 warnings 0 mismatches : arm64-allnoconfig
1 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm-allnoconfig
5 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Errors summary: 4
2 ../drivers/staging/bcm2835-audio/bcm2835-vchiq.c:97:9: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
1 ../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
1 ../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
1 ../drivers/staging/media/platform/bcm2835/mmal-vchiq.c:453:8: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
Warnings Summary: 7
3 ../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
1 ../include/linux/dynamic_debug.h:126:3: warning: 'ept_cfg' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../fs/ext4/file.c:279:1: warning: 'ext4_dax_huge_fault' defined but not used [-Wunused-function]
1 ../fs/cifs/smb2ops.c:2008:16: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Wformat=]
1 ../fs/cifs/smb2ops.c:2008:16: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=]
1 ../fs/cifs/cifs_debug.h:55:24: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Wformat=]
1 ../drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:815:40: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 1 errors, 1 warnings, 0 section mismatches
Errors:
../drivers/staging/bcm2835-audio/bcm2835-vchiq.c:97:9: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
Warnings:
../fs/ext4/file.c:279:1: warning: 'ext4_dax_huge_fault' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 2 errors, 1 warnings, 0 section mismatches
Errors:
../mm/nommu.c:1201:15: error: conflicting types for 'do_mmap'
../mm/nommu.c:1580:5: error: conflicting types for 'do_munmap'
Warnings:
../drivers/char/random.c:318:12: warning: 'random_min_urandom_seed' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 2 errors, 5 warnings, 0 section mismatches
Errors:
../drivers/staging/bcm2835-audio/bcm2835-vchiq.c:97:9: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
../drivers/staging/media/platform/bcm2835/mmal-vchiq.c:453:8: error: implicit declaration of function 'vchi_msg_queue' [-Werror=implicit-function-declaration]
Warnings:
../fs/cifs/cifs_debug.h:55:24: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Wformat=]
../fs/cifs/smb2ops.c:2008:16: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=]
../fs/cifs/smb2ops.c:2008:16: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Wformat=]
../drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:815:40: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../include/linux/dynamic_debug.h:126:3: warning: 'ept_cfg' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm-multi_v4t_defconfig
x86_64-defconfig
arm-multi_v7_defconfig
arm-multi_v5_defconfig
arm64-defconfig