mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
cputime: Use accessors to read task cputime stats
This is in preparation for the full dynticks feature. While remotely reading the cputime of a task running in a full dynticks CPU, we'll need to do some extra-computation. This way we can account the time it spent tickless in userspace since its last cputime snapshot. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Li Zhong <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Thomas Gleixner <[email protected]>
This commit is contained in:
parent
3f4724ea85
commit
6fac4829ce
16 changed files with 144 additions and 49 deletions
|
|
@ -1638,6 +1638,7 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
|||
unsigned long flags;
|
||||
struct sighand_struct *psig;
|
||||
bool autoreap = false;
|
||||
cputime_t utime, stime;
|
||||
|
||||
BUG_ON(sig == -1);
|
||||
|
||||
|
|
@ -1675,8 +1676,9 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
|
|||
task_uid(tsk));
|
||||
rcu_read_unlock();
|
||||
|
||||
info.si_utime = cputime_to_clock_t(tsk->utime + tsk->signal->utime);
|
||||
info.si_stime = cputime_to_clock_t(tsk->stime + tsk->signal->stime);
|
||||
task_cputime(tsk, &utime, &stime);
|
||||
info.si_utime = cputime_to_clock_t(utime + tsk->signal->utime);
|
||||
info.si_stime = cputime_to_clock_t(stime + tsk->signal->stime);
|
||||
|
||||
info.si_status = tsk->exit_code & 0x7f;
|
||||
if (tsk->exit_code & 0x80)
|
||||
|
|
@ -1740,6 +1742,7 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
|||
unsigned long flags;
|
||||
struct task_struct *parent;
|
||||
struct sighand_struct *sighand;
|
||||
cputime_t utime, stime;
|
||||
|
||||
if (for_ptracer) {
|
||||
parent = tsk->parent;
|
||||
|
|
@ -1758,8 +1761,9 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
|
|||
info.si_uid = from_kuid_munged(task_cred_xxx(parent, user_ns), task_uid(tsk));
|
||||
rcu_read_unlock();
|
||||
|
||||
info.si_utime = cputime_to_clock_t(tsk->utime);
|
||||
info.si_stime = cputime_to_clock_t(tsk->stime);
|
||||
task_cputime(tsk, &utime, &stime);
|
||||
info.si_utime = cputime_to_clock_t(utime);
|
||||
info.si_stime = cputime_to_clock_t(stime);
|
||||
|
||||
info.si_code = why;
|
||||
switch (why) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue