sched: Make task->real_start_time nanoseconds based

Simplify the only user of this data by removing the timespec
conversion.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
Thomas Gleixner 2014-07-16 21:04:32 +00:00 committed by John Stultz
parent d560fed6ab
commit 57e0be041d
3 changed files with 3 additions and 9 deletions

View File

@ -473,13 +473,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
priority = task_prio(task); priority = task_prio(task);
nice = task_nice(task); nice = task_nice(task);
/* Temporary variable needed for gcc-2.96 */
/* convert timespec -> nsec*/
start_time =
(unsigned long long)task->real_start_time.tv_sec * NSEC_PER_SEC
+ task->real_start_time.tv_nsec;
/* convert nsec -> ticks */ /* convert nsec -> ticks */
start_time = nsec_to_clock_t(start_time); start_time = nsec_to_clock_t(task->real_start_time);
seq_printf(m, "%d (%s) %c", pid_nr_ns(pid, ns), tcomm, state); seq_printf(m, "%d (%s) %c", pid_nr_ns(pid, ns), tcomm, state);
seq_put_decimal_ll(m, ' ', ppid); seq_put_decimal_ll(m, ' ', ppid);

View File

@ -1368,7 +1368,7 @@ struct task_struct {
#endif #endif
unsigned long nvcsw, nivcsw; /* context switch counts */ unsigned long nvcsw, nivcsw; /* context switch counts */
struct timespec start_time; /* monotonic time */ struct timespec start_time; /* monotonic time */
struct timespec real_start_time; /* boot based time */ u64 real_start_time; /* boot based time in nsec */
/* mm fault and swap info: this can arguably be seen as either mm-specific or thread-specific */ /* mm fault and swap info: this can arguably be seen as either mm-specific or thread-specific */
unsigned long min_flt, maj_flt; unsigned long min_flt, maj_flt;

View File

@ -1263,8 +1263,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
posix_cpu_timers_init(p); posix_cpu_timers_init(p);
ktime_get_ts(&p->start_time); ktime_get_ts(&p->start_time);
p->real_start_time = p->start_time; p->real_start_time = ktime_get_boot_ns();
monotonic_to_bootbased(&p->real_start_time);
p->io_context = NULL; p->io_context = NULL;
p->audit_context = NULL; p->audit_context = NULL;
if (clone_flags & CLONE_THREAD) if (clone_flags & CLONE_THREAD)