Initial Version
[qa-tools:mnts.git] / mnts-power-tests / src / chk_cpufreq_perf.c
1 /*
2  * Copyright (C) 2009 Intel Corporation.
3  * DESCR:check cpufreq performance governor
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  *                                                                        
19  * Authors:                                                               
20  *              Gong,Zhipeng  (zhipeng.gong@intel.com)
21  *
22  */
23
24
25 #include <stdio.h>
26 #include <stdlib.h>
27 #include <unistd.h>
28
29 #include "sysfs.h"
30
31 int main (int argc, char ** argv){
32         char *avai_freq_arr[FREQ_NUM_MAX];
33         char *max_freq = NULL;
34         char *min_freq = NULL;
35
36         if (parse_avail_freq(avai_freq_arr,&max_freq,&min_freq, NULL) == ERROR) {
37                 printf("Fail to read scaling_available_frequencies\n");
38                 return ERROR;
39         }
40 #if 0
41         if (cpu_p_sys_write (0, "scaling_governor", "userspace") != SUCCESS){
42                 return ERROR;
43         }
44         
45         if (cpu_p_sys_write (0, "scaling_setspeed", min_freq) != SUCCESS){
46                 return ERROR;
47         }
48
49         if (cpu_p_sys_check (0, "scaling_cur_freq", min_freq) != SUCCESS){
50                 return ERROR;
51         }
52 #endif
53
54         if (cpu_p_sys_write (1, "scaling_governor", "performance") != SUCCESS){
55                 return ERROR;
56         }
57         
58         if (cpu_p_sys_check (1, "scaling_governor", "performance") != SUCCESS) {
59                 return ERROR;
60         } else {
61                 printf ("set governor to performance successfully! \n");
62         }
63
64         if (cpu_p_sys_check (1, "scaling_cur_freq", max_freq) != SUCCESS){
65                 return ERROR;
66         } else {
67                 printf ("performance governor has taken effective! The frequency is %s now \n", max_freq);
68         }
69
70         if (cpu_p_sys_check (1, "cpuinfo_cur_freq", max_freq) != SUCCESS){
71                 return ERROR;
72         } else {
73                 printf ("All cpus' frequencies have been updated! \n");
74         }
75         return SUCCESS; 
76 }