mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 15:42:32 +00:00
sched/cputime: Convert task/group cputime to nsecs
Now that most cputime readers use the transition API which return the task cputime in old style cputime_t, we can safely store the cputime in nsecs. This will eventually make cputime statistics less opaque and more granular. Back and forth convertions between cputime_t and nsecs in order to deal with cputime_t random granularity won't be needed anymore. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@redhat.com> Cc: Stanislaw Gruszka <sgruszka@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: Wanpeng Li <wanpeng.li@hotmail.com> Link: http://lkml.kernel.org/r/1485832191-26889-8-git-send-email-fweisbec@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
a1cecf2ba7
commit
5613fda9a5
12 changed files with 89 additions and 69 deletions
|
@ -1411,6 +1411,8 @@ static void fill_note(struct memelfnote *note, const char *name, int type,
|
|||
static void fill_prstatus(struct elf_prstatus *prstatus,
|
||||
struct task_struct *p, long signr)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
prstatus->pr_info.si_signo = prstatus->pr_cursig = signr;
|
||||
prstatus->pr_sigpend = p->pending.signal.sig[0];
|
||||
prstatus->pr_sighold = p->blocked.sig[0];
|
||||
|
@ -1437,8 +1439,13 @@ static void fill_prstatus(struct elf_prstatus *prstatus,
|
|||
cputime_to_timeval(utime, &prstatus->pr_utime);
|
||||
cputime_to_timeval(stime, &prstatus->pr_stime);
|
||||
}
|
||||
cputime_to_timeval(p->signal->cutime, &prstatus->pr_cutime);
|
||||
cputime_to_timeval(p->signal->cstime, &prstatus->pr_cstime);
|
||||
tv = ns_to_timeval(p->signal->cutime);
|
||||
prstatus->pr_cutime.tv_sec = tv.tv_sec;
|
||||
prstatus->pr_cutime.tv_usec = tv.tv_usec;
|
||||
|
||||
tv = ns_to_timeval(p->signal->cstime);
|
||||
prstatus->pr_cstime.tv_sec = tv.tv_sec;
|
||||
prstatus->pr_cstime.tv_usec = tv.tv_usec;
|
||||
}
|
||||
|
||||
static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue