summaryrefslogtreecommitdiffstats
path: root/core/res/res/xml
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2015-09-05 18:05:40 -0700
committerAdam Lesinski <adamlesinski@google.com>2015-09-09 17:07:54 -0700
commit6832f39416cbe2cc9655af4eabefe39c5d272254 (patch)
tree7b6a2c99c7938a4d79ffcea8387ddc69365265a7 /core/res/res/xml
parent24a6be463e5628416ad234a3e2e33f1f4cc5b287 (diff)
downloadframeworks_base-6832f39416cbe2cc9655af4eabefe39c5d272254.zip
frameworks_base-6832f39416cbe2cc9655af4eabefe39c5d272254.tar.gz
frameworks_base-6832f39416cbe2cc9655af4eabefe39c5d272254.tar.bz2
BatteryStats: Better big-little CPU accounting
Generalize cpu clusters so we can measure frequency and power usage across heterogeneous cpu clusters. This also brings back reading of cpu-times for power calculation. Bug:22773176 Change-Id: I9c794ae9756c782c0e971c7f5fcebbe70374b269
Diffstat (limited to 'core/res/res/xml')
-rw-r--r--core/res/res/xml/power_profile.xml35
1 files changed, 28 insertions, 7 deletions
diff --git a/core/res/res/xml/power_profile.xml b/core/res/res/xml/power_profile.xml
index 28d99d8..ddd0ca2 100644
--- a/core/res/res/xml/power_profile.xml
+++ b/core/res/res/xml/power_profile.xml
@@ -47,17 +47,38 @@
<value>0.2</value> <!-- ~2mA -->
<value>0.1</value> <!-- ~1mA -->
</array>
- <!-- Different CPU speeds as reported in
- /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->
- <array name="cpu.speeds">
+
+ <!-- A list of heterogeneous CPU clusters, where the value for each cluster represents the
+ number of CPU cores for that cluster.
+
+ Ex:
+ <array name="cpu.clusters.cores">
+ <value>4</value> // cluster 0 has cpu0, cpu1, cpu2, cpu3
+ <value>2</value> // cluster 1 has cpu4, cpu5
+ </array> -->
+ <array name="cpu.clusters.cores">
+ <value>1</value> <!-- cluster 0 has cpu0 -->
+ </array>
+
+ <!-- Different CPU speeds for cluster 0 as reported in
+ /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state.
+
+ There must be one of these for each cluster, labeled:
+ cpu.speeds.cluster0, cpu.speeds.cluster1, etc... -->
+ <array name="cpu.speeds.cluster0">
<value>400000</value> <!-- 400 MHz CPU speed -->
</array>
- <!-- Current when CPU is idle -->
- <item name="cpu.idle">0.1</item>
- <!-- Current at each CPU speed, as per 'cpu.speeds' -->
- <array name="cpu.active">
+
+ <!-- Current at each CPU speed for cluster 0, as per 'cpu.speeds.cluster0'.
+ Like cpu.speeds.cluster0, there must be one of these present for
+ each heterogeneous CPU cluster. -->
+ <array name="cpu.active.cluster0">
<value>0.1</value> <!-- ~100mA -->
</array>
+
+ <!-- Current when CPU is idle -->
+ <item name="cpu.idle">0.1</item>
+
<!-- This is the battery capacity in mAh (measured at nominal voltage) -->
<item name="battery.capacity">1000</item>