OSDN Git Service

ANDROID: cpufreq: times: add /proc/uid_concurrent_{active,policy}_time
authorConnor O'Brien <connoro@google.com>
Sat, 6 Oct 2018 02:20:54 +0000 (19:20 -0700)
committerConnor O'Brien <connoro@google.com>
Mon, 4 Nov 2019 22:00:22 +0000 (22:00 +0000)
commit766d0c0c6c388ec3833caf9c47e9f3f50230cdc3
tree62b6dca83a81643225c3b54f6632ef4bdd7df6ba
parentdbd016261f154491f68ac5c9bd87e99c0848ef97
ANDROID: cpufreq: times: add /proc/uid_concurrent_{active,policy}_time

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: 111216804140846192
Test: cat files on hikey960 and confirm output is reasonable
Change-Id: I075fef030c261b47831ae8d4ddb286ee9d8b9347
Signed-off-by: Connor O'Brien <connoro@google.com>
(cherry picked from commit 605e2ec6d67919b995c7b822b38b9ffea33c2338)
Signed-off-by: JeiFeng Lee <linger.lee@mediatek.com>
Documentation/ABI/testing/procfs-concurrent_time [new file with mode: 0644]
drivers/cpufreq/cpufreq_times.c