linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] cpufreq: Add 'load_table' debugfs file to show colleced CPUs load
@ 2013-07-05  8:46 Chanwoo Choi
  2013-07-05  8:46 ` [PATCH 1/6] cpufreq: Add debugfs directory for cpufreq Chanwoo Choi
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Chanwoo Choi @ 2013-07-05  8:46 UTC (permalink / raw)
  To: viresh.kumar, rjw, linux-kernel
  Cc: linux-pm, cpufreq, kyungmin.park, myungjoo.ham, cw00.choi

This patchset add 'load_table' debugfs file to provide collected CPUs data.
The load_table debugfs file gives below CPU datas.
- measured time
- old CPU frequency
- new CPU frequency
- each CPU load

These data will mean the change of CPU frequency according to CPUs load at
specific measured time. Also, the user can determine the storage size of colleced
CPUs data. The range is from 10 to 1000.

Second, previous performance/powersave governor haven't calculated CPUs load
becuase these governor didn't change CPU frequency according to CPUs load. But,
load_table debugfs file always should indicate the collected CPUs data regardless
of the kind of cpufreq governor. So, the patch3/4/5 implement that performance/
powersave governor will check periodically CPUs load by calling dbs_check_cpu()
with timer.

Finally, the patch 6 explain the detailed description of load_table debugfs file.

Thanks,
Chanwoo Choi

[Test Result]
- the kind of SoC : Samsung EXYNOS4412
- a range of frequency : 200 ~ 1400MHz

- Ondemand governor and the number of online CPU is 4
Time(ms)   Old Freq(Hz) New Freq(Hz) CPU0 CPU1 CPU2 CPU3
23820      500000       500000       53   86   2    73   
23920      500000       400000       66   40   0    42   
24020      400000       400000       71   71   10   52   
24120      400000       300000       33   27   45   65   
24220      300000       300000       4    37   71   34   
24320      300000       300000       1    85   38   16   
24420      300000       200000       6    41   15   51   
24520      200000       200000       12   62   1    51   
24620      200000       200000       9    51   0    58   
24720      200000       200000       32   32   11   27 

- Performance governor and the number of online CPU is 4
Time(ms)   Old Freq(Hz) New Freq(Hz) CPU0 CPU1 CPU2 CPU3 
3425930    1400000      1400000      0    0    0    0    
3425945    1400000      1400000      0    0    0    0    
3425960    1400000      1400000      0    0    0    0    
3427105    1400000      1400000      0    0    0    0    
3427109    1400000      1400000      0    0    33   100  
3428135    1400000      1400000      0    0    0    0    
3428425    1400000      1400000      0    0    0    0    
3429385    1400000      1400000      0    0    0    0    
3429400    1400000      1400000      0    0    0    0    
3429415    1400000      1400000      0    0    0    0

- Powersave governor and the number of online CPU is 4
Time(ms)   Old Freq(Hz) New Freq(Hz) CPU0 CPU1 CPU2 CPU3 
3451945    200000       200000       3    0    0    2    
3453930    200000       200000       0    1    0    1    
3453945    200000       200000       2    2    0    0    
3453960    200000       200000       1    0    1    0    
3455065    200000       200000       0    0    0    0    
3455075    200000       200000       1    5    1    0    
3455570    200000       200000       0    0    0    0    
3455605    200000       200000       0    0    0    3    
3456350    200000       200000       0    0    0    0    
3456360    200000       200000       41   2    39   43   

- Powersave governor and the number of online CPU is 2 (CPU[1-2] is offline)
Time(ms)   Old Freq(Hz) New Freq(Hz) CPU0 CPU3 
3501930    200000       200000       0    0    
3502040    200000       200000       0    0    
3502100    200000       200000       75   16   
3502575    200000       200000       0    0    
3503025    200000       200000       11   2    
3503100    200000       200000       62   14   
3503455    200000       200000       1    0    
3503930    200000       200000       3    9    
3504000    200000       200000       65   15   
3504440    200000       200000       1    0    

Chanwoo Choi (6):
  cpufreq: Add debugfs directory for cpufreq
  cpufreq: stats: Add 'load_table' debugfs file to show accumulated data of CPUs
  cpufreq: Update governor core to support all governors
  cpufreq: performance: Add support to collect CPUs load periodically
  cpufreq: powersave: Add support to collect CPUs load periodically
  Documentation: cpufreq: load_table: Update load_table debugfs file documentation

 Documentation/cpu-freq/cpufreq-stats.txt |  39 ++++-
 drivers/cpufreq/Kconfig                  |   6 +
 drivers/cpufreq/cpufreq.c                |  61 ++++++++
 drivers/cpufreq/cpufreq_governor.c       |  37 ++++-
 drivers/cpufreq/cpufreq_governor.h       |  11 ++
 drivers/cpufreq/cpufreq_performance.c    | 156 ++++++++++++++++++-
 drivers/cpufreq/cpufreq_powersave.c      | 158 ++++++++++++++++++-
 drivers/cpufreq/cpufreq_stats.c          | 256 ++++++++++++++++++++++++++++---
 include/linux/cpufreq.h                  |   7 +
 9 files changed, 692 insertions(+), 39 deletions(-)

-- 
1.8.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-07-15 10:02 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-05  8:46 [PATCH 0/6] cpufreq: Add 'load_table' debugfs file to show colleced CPUs load Chanwoo Choi
2013-07-05  8:46 ` [PATCH 1/6] cpufreq: Add debugfs directory for cpufreq Chanwoo Choi
2013-07-07 18:54   ` Pankaj Jangra
2013-07-07 23:50     ` Chanwoo Choi
2013-07-09  9:23   ` Viresh Kumar
2013-07-10  8:30     ` Chanwoo Choi
2013-07-15 10:02       ` Viresh Kumar
2013-07-05  8:46 ` [PATCH v5 2/6] cpufreq: stats: Add 'load_table' debugfs file to show accumulated data of CPUs Chanwoo Choi
2013-07-05  8:46 ` [PATCH 3/6] cpufreq: Update governor core to support all governors Chanwoo Choi
2013-07-05  8:46 ` [PATCH 4/6] cpufreq: performance: Add support to collect CPUs load periodically Chanwoo Choi
2013-07-05  8:46 ` [PATCH 5/6] cpufreq: powersave: " Chanwoo Choi
2013-07-05  8:46 ` [PATCH 6/6] Documentation: cpufreq: load_table: Update load_table debugfs file documentation Chanwoo Choi
2013-07-09  6:50 ` [PATCH 0/6] cpufreq: Add 'load_table' debugfs file to show colleced CPUs load Viresh Kumar
2013-07-09  7:57   ` Chanwoo Choi
2013-07-09  8:00     ` Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).