diff options
author | Connor O'Brien <connoro@google.com> | 2018-01-22 18:28:08 -0800 |
---|---|---|
committer | Connor O'Brien <connoro@google.com> | 2018-03-06 20:40:13 +0000 |
commit | ea0dbcb473aab21f18b4f5e0fe6bb5dd4fc74459 (patch) | |
tree | 095418cbc972a43700705ddeab6fe644b44e9963 /fs/proc | |
parent | 552095deb5650aa958cb29c6ae712728d38c4a5a (diff) |
ANDROID: cpufreq: Add time_in_state to /proc/uid directories
Add per-uid files that report the data in binary format rather than
text, to allow faster reading & parsing by userspace.
Signed-off-by: Connor O'Brien <connoro@google.com>
Bug: 72339335
Test: compare values to those reported in /proc/uid_time_in_state
Change-Id: I463039ea7f17b842be4c70024fe772539fe2ce02
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/uid.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/fs/proc/uid.c b/fs/proc/uid.c index 3c7e87c2a820..c0d439a00560 100644 --- a/fs/proc/uid.c +++ b/fs/proc/uid.c @@ -2,6 +2,7 @@ * /proc/uid support */ +#include <linux/cpufreq_times.h> #include <linux/fs.h> #include <linux/hashtable.h> #include <linux/init.h> @@ -81,7 +82,20 @@ struct uid_entry { .fop = FOP, \ } -static const struct uid_entry uid_base_stuff[] = {}; +#ifdef CONFIG_CPU_FREQ_TIMES +const struct file_operations proc_uid_time_in_state_operations = { + .open = single_uid_time_in_state_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; +#endif + +static const struct uid_entry uid_base_stuff[] = { +#ifdef CONFIG_CPU_FREQ_TIMES + NOD("time_in_state", 0444, NULL, &proc_uid_time_in_state_operations), +#endif +}; const struct inode_operations proc_uid_def_inode_operations = { .setattr = proc_setattr, |