https://source.android.com/security/bulletin/2019-11-01
CVE-2019-2213
CVE-2019-2214
CVE-2019-2215
CVE-2019-11833
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: 111216804, 140846192
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>
2 files changed