1*49cdfc7eSAndroid Build Coastguard Worker################################################################################ 2*49cdfc7eSAndroid Build Coastguard Worker## ## 3*49cdfc7eSAndroid Build Coastguard Worker## Copyright (c) International Business Machines Corp., 2007 ## 4*49cdfc7eSAndroid Build Coastguard Worker## ## 5*49cdfc7eSAndroid Build Coastguard Worker## This program is free software; you can redistribute it and#or modify ## 6*49cdfc7eSAndroid Build Coastguard Worker## it under the terms of the GNU General Public License as published by ## 7*49cdfc7eSAndroid Build Coastguard Worker## the Free Software Foundation; either version 2 of the License, or ## 8*49cdfc7eSAndroid Build Coastguard Worker## (at your option) any later version. ## 9*49cdfc7eSAndroid Build Coastguard Worker## ## 10*49cdfc7eSAndroid Build Coastguard Worker## This program is distributed in the hope that it will be useful, but ## 11*49cdfc7eSAndroid Build Coastguard Worker## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## 12*49cdfc7eSAndroid Build Coastguard Worker## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## 13*49cdfc7eSAndroid Build Coastguard Worker## for more details. ## 14*49cdfc7eSAndroid Build Coastguard Worker## ## 15*49cdfc7eSAndroid Build Coastguard Worker## You should have received a copy of the GNU General Public License ## 16*49cdfc7eSAndroid Build Coastguard Worker## along with this program; if not, write to the Free Software ## 17*49cdfc7eSAndroid Build Coastguard Worker## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## 18*49cdfc7eSAndroid Build Coastguard Worker## ## 19*49cdfc7eSAndroid Build Coastguard Worker################################################################################ 20*49cdfc7eSAndroid Build Coastguard Worker 21*49cdfc7eSAndroid Build Coastguard WorkerPOWER MANAGEMENT TESTS AUTOMATION SUITE 22*49cdfc7eSAndroid Build Coastguard Worker---------------------------------------- 23*49cdfc7eSAndroid Build Coastguard WorkerThe tests requires the Kernel to be compiled with the following config's 24*49cdfc7eSAndroid Build Coastguard Worker 25*49cdfc7eSAndroid Build Coastguard Workerfor CPU FREQUENCY tests: 26*49cdfc7eSAndroid Build Coastguard Worker 27*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ 28*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_TABLE 29*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_DEBUG 30*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_STAT 31*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_STAT_DETAILS 32*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_DEFAULT_GOV_* 33*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_FREQ_GOV_* 34*49cdfc7eSAndroid Build Coastguard Worker 35*49cdfc7eSAndroid Build Coastguard Workerfor CPU IDLE tests: 36*49cdfc7eSAndroid Build Coastguard Worker 37*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_IDLE 38*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_IDLE_GOV_LADDER 39*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_CPU_IDLE_GOV_MENU 40*49cdfc7eSAndroid Build Coastguard Worker 41*49cdfc7eSAndroid Build Coastguard Workerfor SCHED_MC tests: 42*49cdfc7eSAndroid Build Coastguard Worker 43*49cdfc7eSAndroid Build Coastguard WorkerCONFIG_SCHED_MC 44*49cdfc7eSAndroid Build Coastguard Worker 45*49cdfc7eSAndroid Build Coastguard WorkerThe power management test automation suite helps run the power management functionality 46*49cdfc7eSAndroid Build Coastguard Worker(e.g: cpu frequency, cpu idle etc..) tests and report results. 47*49cdfc7eSAndroid Build Coastguard Worker 48*49cdfc7eSAndroid Build Coastguard WorkerTest Scripts for CPU FREQUENCY: 49*49cdfc7eSAndroid Build Coastguard Workerchange_freq.sh 50*49cdfc7eSAndroid Build Coastguard Workerchange_govr.sh 51*49cdfc7eSAndroid Build Coastguard Workercheck_cpufreq_sysfs_files.sh 52*49cdfc7eSAndroid Build Coastguard Worker 53*49cdfc7eSAndroid Build Coastguard WorkerTest Scripts for CPU IDLE: 54*49cdfc7eSAndroid Build Coastguard Workerwill be added soon 55*49cdfc7eSAndroid Build Coastguard Worker 56*49cdfc7eSAndroid Build Coastguard WorkerTest Scripts for SCHED_MC: 57*49cdfc7eSAndroid Build Coastguard Workertest_sched_mc.sh 58*49cdfc7eSAndroid Build Coastguard Worker 59*49cdfc7eSAndroid Build Coastguard WorkerCommon functionality: 60*49cdfc7eSAndroid Build Coastguard Workerpm_include.sh 61*49cdfc7eSAndroid Build Coastguard Workercheck_kv_arch.c 62*49cdfc7eSAndroid Build Coastguard Workerpwkm_load_unload.sh 63*49cdfc7eSAndroid Build Coastguard Worker 64*49cdfc7eSAndroid Build Coastguard WorkerTo run your tests you can execute the runpwtests.sh 65*49cdfc7eSAndroid Build Coastguard Worker 66*49cdfc7eSAndroid Build Coastguard WorkerTo run the tests individually : 67*49cdfc7eSAndroid Build Coastguard Worker 68*49cdfc7eSAndroid Build Coastguard WorkerP.S. As of now the supporting architecture(s) are x86,x86_64 69*49cdfc7eSAndroid Build Coastguard Worker 70*49cdfc7eSAndroid Build Coastguard WorkerSupport of system: 71*49cdfc7eSAndroid Build Coastguard Worker----------------- 72*49cdfc7eSAndroid Build Coastguard WorkerIf you see some thing like following, 73*49cdfc7eSAndroid Build Coastguard Worker 74*49cdfc7eSAndroid Build Coastguard WorkerPower Management 1 FAIL : Required kernel configuration for SCHED_MC NOT set 75*49cdfc7eSAndroid Build Coastguard Workeror 76*49cdfc7eSAndroid Build Coastguard WorkerPower Management 1 FAIL : Required kernel configuration for CPU_FREQ NOT set 77*49cdfc7eSAndroid Build Coastguard Worker 78*49cdfc7eSAndroid Build Coastguard WorkerThen either configuration is not set or the system won't support. 79*49cdfc7eSAndroid Build Coastguard Worker 80*49cdfc7eSAndroid Build Coastguard WorkerFor CPU consolidation verification ebizzy is included in utils directory of LTP. 81*49cdfc7eSAndroid Build Coastguard WorkerTo run cpu consolidation test user has to provide -w <workload> -l <sched_mc_level>. 82*49cdfc7eSAndroid Build Coastguard WorkerRefer to README in LTPROOT/utils/benchmark/ebizzy-0.2 directory for details of ebizzy. 83*49cdfc7eSAndroid Build Coastguard Worker 84*49cdfc7eSAndroid Build Coastguard WorkerTo test CPU consolidation for sched_mc 2 kernbench has to run. Kernbench needs linux kernel source as input in /root directory . For example download from http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.4.tar.bz2. If Linux kernel source not found kernbench wiil not execute. 85*49cdfc7eSAndroid Build Coastguard WorkerCPU consolidation testcases will not execute if number of CPU's in package is less then 2. If system is hyper threaded but number of CPU is 1 only sched_smt testcases will be excuted. For better coverage of testcases select a system which is at least quad core and then hyper threaded so that you will observe 8 CPU's in each package. 86*49cdfc7eSAndroid Build Coastguard Worker 87*49cdfc7eSAndroid Build Coastguard WorkerTimer migration interface test will execute on kernel versions 2.6.31 and above. Timer migration functionality verification testcases will be executed only on suitable architecture like quad core or the number of CPU's in each package should be at least 4 and above 88