forked from Minki/linux
tsacct: Convert obsolete cputime type to nsecs
Use the new nsec based cputime accessors as part of the whole cputime conversion from cputime_t to nsecs. 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-15-git-send-email-fweisbec@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
dbf3da1c2d
commit
605dc2b31a
@ -1815,7 +1815,7 @@ struct task_struct {
|
||||
#if defined(CONFIG_TASK_XACCT)
|
||||
u64 acct_rss_mem1; /* accumulated rss usage */
|
||||
u64 acct_vm_mem1; /* accumulated virtual memory usage */
|
||||
cputime_t acct_timexpd; /* stime + utime since last update */
|
||||
u64 acct_timexpd; /* stime + utime since last update */
|
||||
#endif
|
||||
#ifdef CONFIG_CPUSETS
|
||||
nodemask_t mems_allowed; /* Protected by alloc_lock */
|
||||
|
@ -31,7 +31,7 @@ void bacct_add_tsk(struct user_namespace *user_ns,
|
||||
struct taskstats *stats, struct task_struct *tsk)
|
||||
{
|
||||
const struct cred *tcred;
|
||||
cputime_t utime, stime, utimescaled, stimescaled;
|
||||
u64 utime, stime, utimescaled, stimescaled;
|
||||
u64 delta;
|
||||
|
||||
BUILD_BUG_ON(TS_COMM_LEN < TASK_COMM_LEN);
|
||||
@ -66,13 +66,13 @@ void bacct_add_tsk(struct user_namespace *user_ns,
|
||||
task_tgid_nr_ns(rcu_dereference(tsk->real_parent), pid_ns) : 0;
|
||||
rcu_read_unlock();
|
||||
|
||||
task_cputime_t(tsk, &utime, &stime);
|
||||
stats->ac_utime = cputime_to_usecs(utime);
|
||||
stats->ac_stime = cputime_to_usecs(stime);
|
||||
task_cputime(tsk, &utime, &stime);
|
||||
stats->ac_utime = div_u64(utime, NSEC_PER_USEC);
|
||||
stats->ac_stime = div_u64(stime, NSEC_PER_USEC);
|
||||
|
||||
task_cputime_t_scaled(tsk, &utimescaled, &stimescaled);
|
||||
stats->ac_utimescaled = cputime_to_usecs(utimescaled);
|
||||
stats->ac_stimescaled = cputime_to_usecs(stimescaled);
|
||||
task_cputime_scaled(tsk, &utimescaled, &stimescaled);
|
||||
stats->ac_utimescaled = div_u64(utimescaled, NSEC_PER_USEC);
|
||||
stats->ac_stimescaled = div_u64(stimescaled, NSEC_PER_USEC);
|
||||
|
||||
stats->ac_minflt = tsk->min_flt;
|
||||
stats->ac_majflt = tsk->maj_flt;
|
||||
@ -123,18 +123,15 @@ void xacct_add_tsk(struct taskstats *stats, struct task_struct *p)
|
||||
#undef MB
|
||||
|
||||
static void __acct_update_integrals(struct task_struct *tsk,
|
||||
cputime_t utime, cputime_t stime)
|
||||
u64 utime, u64 stime)
|
||||
{
|
||||
cputime_t time, dtime;
|
||||
u64 delta;
|
||||
u64 time, delta;
|
||||
|
||||
if (!likely(tsk->mm))
|
||||
return;
|
||||
|
||||
time = stime + utime;
|
||||
dtime = time - tsk->acct_timexpd;
|
||||
/* Avoid division: cputime_t is often in nanoseconds already. */
|
||||
delta = cputime_to_nsecs(dtime);
|
||||
delta = time - tsk->acct_timexpd;
|
||||
|
||||
if (delta < TICK_NSEC)
|
||||
return;
|
||||
@ -155,11 +152,11 @@ static void __acct_update_integrals(struct task_struct *tsk,
|
||||
*/
|
||||
void acct_update_integrals(struct task_struct *tsk)
|
||||
{
|
||||
cputime_t utime, stime;
|
||||
u64 utime, stime;
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
task_cputime_t(tsk, &utime, &stime);
|
||||
task_cputime(tsk, &utime, &stime);
|
||||
__acct_update_integrals(tsk, utime, stime);
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user