lkml.org 
[lkml]   [2014]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 29/55] 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>
    ---
    fs/proc/array.c | 7 +------
    include/linux/sched.h | 2 +-
    kernel/fork.c | 3 +--
    3 files changed, 3 insertions(+), 9 deletions(-)

    Index: tip/fs/proc/array.c
    ===================================================================
    --- tip.orig/fs/proc/array.c
    +++ tip/fs/proc/array.c
    @@ -473,13 +473,8 @@ static int do_task_stat(struct seq_file
    priority = task_prio(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 */
    - 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_put_decimal_ll(m, ' ', ppid);
    Index: tip/include/linux/sched.h
    ===================================================================
    --- tip.orig/include/linux/sched.h
    +++ tip/include/linux/sched.h
    @@ -1368,7 +1368,7 @@ struct task_struct {
    #endif
    unsigned long nvcsw, nivcsw; /* context switch counts */
    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 */
    unsigned long min_flt, maj_flt;

    Index: tip/kernel/fork.c
    ===================================================================
    --- tip.orig/kernel/fork.c
    +++ tip/kernel/fork.c
    @@ -1263,8 +1263,7 @@ static struct task_struct *copy_process(
    posix_cpu_timers_init(p);

    ktime_get_ts(&p->start_time);
    - p->real_start_time = p->start_time;
    - monotonic_to_bootbased(&p->real_start_time);
    + p->real_start_time = ktime_get_boot_ns();
    p->io_context = NULL;
    p->audit_context = NULL;
    if (clone_flags & CLONE_THREAD)



    \
     
     \ /
      Last update: 2014-07-11 19:21    [W:4.249 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site