ANDROID: uid_cputime: Iterates over all the threads instead of processes.

Bug: 22833116
Change-Id: I775a18f61bd2f4df2bec23d01bd49421d0969f87
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
This commit is contained in:
Ruchi Kandoi
2015-07-31 10:17:54 -07:00
committed by Dmitry Shmidt
parent be7074f158
commit 0a733775d3

View File

@@ -75,7 +75,7 @@ static struct uid_entry *find_or_register_uid(uid_t uid)
static int uid_stat_show(struct seq_file *m, void *v)
{
struct uid_entry *uid_entry;
struct task_struct *task;
struct task_struct *task, *temp;
cputime_t utime;
cputime_t stime;
unsigned long bkt;
@@ -89,7 +89,7 @@ static int uid_stat_show(struct seq_file *m, void *v)
}
read_lock(&tasklist_lock);
for_each_process(task) {
do_each_thread(temp, task) {
uid_entry = find_or_register_uid(from_kuid_munged(
current_user_ns(), task_uid(task)));
if (!uid_entry) {
@@ -109,7 +109,7 @@ static int uid_stat_show(struct seq_file *m, void *v)
uid_entry->active_utime += utime;
uid_entry->active_stime += stime;
uid_entry->active_power += task->cpu_power;
}
} while_each_thread(temp, task);
read_unlock(&tasklist_lock);
hash_for_each(hash_table, bkt, uid_entry, hash) {