In order to model the energy used by the cpu, we need to expose cpu time information to userspace. We can use this information to blame uids for the energy they are using. This patch adds 2 files: /proc/uid_concurrent_active_time outputs the time each uid spent running with 1 to num_possible_cpus online and not idle. For instance, if 4 cores are online and active for 50ms and the uid is running on one of the cores, the uid should be blamed for 1/4 of the base energy used by the cpu when 1 or more cores is active. /proc/uid_concurrent_policy_time outputs the time each uid spent running on group of cpu's with the same policy with 1 to num_related_cpus online and not idle. For instance, if 2 cores that are a part of the same policy are online and active for 50ms and the uid is running on one of the cores, the uid should be blamed for 1/2 of the energy that is used everytime one or more cpus in the same policy is active. This patch is based on commit c89e69136fec ("ANDROID: cpufreq: uid_concurrent_active_time") and commit 989212536842 ("ANDROID: cpufreq: uid_concurrent_policy_time") in the android-msm-wahoo-4.4 kernel by Marissa Wall. Bug: 111216804 Test: cat files on hikey960 and confirm output is reasonable Change-Id: I075fef030c261b47831ae8d4ddb286ee9d8b9347 Signed-off-by: Connor O'Brien <connoro@google.com>
17 lines
700 B
Plaintext
17 lines
700 B
Plaintext
What: /proc/uid_concurrent_active_time
|
|
Date: December 2018
|
|
Contact: Connor O'Brien <connoro@google.com>
|
|
Description:
|
|
The /proc/uid_concurrent_active_time file displays aggregated cputime
|
|
numbers for each uid, broken down by the total number of cores that were
|
|
active while the uid's task was running.
|
|
|
|
What: /proc/uid_concurrent_policy_time
|
|
Date: December 2018
|
|
Contact: Connor O'Brien <connoro@google.com>
|
|
Description:
|
|
The /proc/uid_concurrent_policy_time file displays aggregated cputime
|
|
numbers for each uid, broken down based on the cpufreq policy
|
|
of the core used by the uid's task and the number of cores associated
|
|
with that policy that were active while the uid's task was running.
|