mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
sched/cputime: Convert guest time accounting to nsecs (u64)
cputime_t is being obsolete and replaced by nsecs units in order to make internal timestamps less opaque and more granular. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@redhat.com> Cc: Stanislaw Gruszka <sgruszka@redhat.com> Cc: Wanpeng Li <wanpeng.li@hotmail.com> Link: http://lkml.kernel.org/r/1485832191-26889-6-git-send-email-fweisbec@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
564b733c89
commit
16a6d9be90
3 changed files with 12 additions and 12 deletions
|
@ -402,7 +402,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
||||||
unsigned long cmin_flt = 0, cmaj_flt = 0;
|
unsigned long cmin_flt = 0, cmaj_flt = 0;
|
||||||
unsigned long min_flt = 0, maj_flt = 0;
|
unsigned long min_flt = 0, maj_flt = 0;
|
||||||
cputime_t cutime, cstime, utime, stime;
|
cputime_t cutime, cstime, utime, stime;
|
||||||
cputime_t cgtime, gtime;
|
u64 cgtime, gtime;
|
||||||
unsigned long rsslim = 0;
|
unsigned long rsslim = 0;
|
||||||
char tcomm[sizeof(task->comm)];
|
char tcomm[sizeof(task->comm)];
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -542,8 +542,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
||||||
seq_put_decimal_ull(m, " ", task->rt_priority);
|
seq_put_decimal_ull(m, " ", task->rt_priority);
|
||||||
seq_put_decimal_ull(m, " ", task->policy);
|
seq_put_decimal_ull(m, " ", task->policy);
|
||||||
seq_put_decimal_ull(m, " ", delayacct_blkio_ticks(task));
|
seq_put_decimal_ull(m, " ", delayacct_blkio_ticks(task));
|
||||||
seq_put_decimal_ull(m, " ", cputime_to_clock_t(gtime));
|
seq_put_decimal_ull(m, " ", nsec_to_clock_t(gtime));
|
||||||
seq_put_decimal_ll(m, " ", cputime_to_clock_t(cgtime));
|
seq_put_decimal_ll(m, " ", nsec_to_clock_t(cgtime));
|
||||||
|
|
||||||
if (mm && permitted) {
|
if (mm && permitted) {
|
||||||
seq_put_decimal_ull(m, " ", mm->start_data);
|
seq_put_decimal_ull(m, " ", mm->start_data);
|
||||||
|
|
|
@ -774,8 +774,8 @@ struct signal_struct {
|
||||||
*/
|
*/
|
||||||
seqlock_t stats_lock;
|
seqlock_t stats_lock;
|
||||||
cputime_t utime, stime, cutime, cstime;
|
cputime_t utime, stime, cutime, cstime;
|
||||||
cputime_t gtime;
|
u64 gtime;
|
||||||
cputime_t cgtime;
|
u64 cgtime;
|
||||||
struct prev_cputime prev_cputime;
|
struct prev_cputime prev_cputime;
|
||||||
unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw;
|
unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw;
|
||||||
unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
|
unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
|
||||||
|
@ -1658,7 +1658,7 @@ struct task_struct {
|
||||||
#ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
|
#ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME
|
||||||
cputime_t utimescaled, stimescaled;
|
cputime_t utimescaled, stimescaled;
|
||||||
#endif
|
#endif
|
||||||
cputime_t gtime;
|
u64 gtime;
|
||||||
struct prev_cputime prev_cputime;
|
struct prev_cputime prev_cputime;
|
||||||
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
|
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
|
||||||
seqcount_t vtime_seqcount;
|
seqcount_t vtime_seqcount;
|
||||||
|
@ -2254,7 +2254,7 @@ struct task_struct *try_get_task_struct(struct task_struct **ptask);
|
||||||
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
|
#ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
|
||||||
extern void task_cputime(struct task_struct *t,
|
extern void task_cputime(struct task_struct *t,
|
||||||
cputime_t *utime, cputime_t *stime);
|
cputime_t *utime, cputime_t *stime);
|
||||||
extern cputime_t task_gtime(struct task_struct *t);
|
extern u64 task_gtime(struct task_struct *t);
|
||||||
#else
|
#else
|
||||||
static inline void task_cputime(struct task_struct *t,
|
static inline void task_cputime(struct task_struct *t,
|
||||||
cputime_t *utime, cputime_t *stime)
|
cputime_t *utime, cputime_t *stime)
|
||||||
|
@ -2263,7 +2263,7 @@ static inline void task_cputime(struct task_struct *t,
|
||||||
*stime = t->stime;
|
*stime = t->stime;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline cputime_t task_gtime(struct task_struct *t)
|
static inline u64 task_gtime(struct task_struct *t)
|
||||||
{
|
{
|
||||||
return t->gtime;
|
return t->gtime;
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ void account_guest_time(struct task_struct *p, cputime_t cputime)
|
||||||
/* Add guest time to process. */
|
/* Add guest time to process. */
|
||||||
p->utime += cputime;
|
p->utime += cputime;
|
||||||
account_group_user_time(p, cputime);
|
account_group_user_time(p, cputime);
|
||||||
p->gtime += cputime;
|
p->gtime += cputime_to_nsecs(cputime);
|
||||||
|
|
||||||
/* Add guest time to cpustat. */
|
/* Add guest time to cpustat. */
|
||||||
if (task_nice(p) > 0) {
|
if (task_nice(p) > 0) {
|
||||||
|
@ -824,10 +824,10 @@ void vtime_init_idle(struct task_struct *t, int cpu)
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
cputime_t task_gtime(struct task_struct *t)
|
u64 task_gtime(struct task_struct *t)
|
||||||
{
|
{
|
||||||
unsigned int seq;
|
unsigned int seq;
|
||||||
cputime_t gtime;
|
u64 gtime;
|
||||||
|
|
||||||
if (!vtime_accounting_enabled())
|
if (!vtime_accounting_enabled())
|
||||||
return t->gtime;
|
return t->gtime;
|
||||||
|
@ -837,7 +837,7 @@ cputime_t task_gtime(struct task_struct *t)
|
||||||
|
|
||||||
gtime = t->gtime;
|
gtime = t->gtime;
|
||||||
if (t->vtime_snap_whence == VTIME_SYS && t->flags & PF_VCPU)
|
if (t->vtime_snap_whence == VTIME_SYS && t->flags & PF_VCPU)
|
||||||
gtime += vtime_delta(t);
|
gtime += cputime_to_nsecs(vtime_delta(t));
|
||||||
|
|
||||||
} while (read_seqcount_retry(&t->vtime_seqcount, seq));
|
} while (read_seqcount_retry(&t->vtime_seqcount, seq));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue