Initial Version
[qa-tools:mnts.git] / mnts-power-tests / src / pm_qos_cpudma_002.sh
1 #!/bin/sh
2 #DESCR: Test cpu qos feature by cpuidle latency +/- 1
3 # Copyright (C) 2009 Intel Corporation.
4 #
5 # This program is free software; you can redistribute it and/or modify it
6 # under the terms and conditions of the GNU General Public License,
7 # version 2, as published by the Free Software Foundation.
8 #
9 # This program is distributed in the hope it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 # for more details.  
13 #
14 # You should have received a copy of the GNU General Public License along with
15 # this program; if not, write to the Free Software Foundation, Inc., 59 Temple
16 # Place - Suite 330, Boston, MA 02111-1307 USA.
17
18 # Authors:
19 #       Gong, Zhipeng <zhipeng.gong@intel.com>
20
21 cd `dirname $0`
22 if [ ! -d /sys/devices/system/cpu/cpu0/cpuidle ]; then
23         echo "fail to find cpuidle directory"
24         exit 2
25 fi
26
27
28 count=0
29 for file in /sys/devices/system/cpu/cpu0/cpuidle/*/latency; do  
30         tmp=`cat $file`
31         if [ $tmp -ne 0 ];then 
32                 count=`expr $count + 1`
33                 latency[$count]=$tmp
34         fi
35 done
36
37 echo ${latency[*]}
38
39 for i in ${latency[*]}; do
40         count=$i
41         count=`expr $count + 1`
42         sleep 1
43         echo "Check latency " $count 
44         ./check_pm_qos $count 3
45         if [ $? -eq 0 ]; then
46                 echo "Pass check"               
47         else
48                 echo "Fail check"
49                 exit 1
50         fi
51 done
52
53 for i in ${latency[*]}; do
54         count=$i
55         count=`expr $count - 1`
56         sleep 1
57         echo "Check latency " $count 
58         ./check_pm_qos $count 3
59         if [ $? -eq 0 ]; then
60                 echo "Pass check"               
61         else
62                 echo "Fail check"
63                 exit 1
64         fi
65 done
66
67 exit 0