lkml.org 
[lkml]   [2015]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 05/39] hrtimer: Get rid of hrtimer_get_res()
    The resolution is directly accessible now. So its simpler just to fill
    in the values of the timespec and be done with it.

    Text size reduction (combined with "hrtimer: Get rid of the resolution
    field in hrtimer_clock_base"):
    x8664 -61, i386 -221, ARM -60, power64 -48

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    ---
    include/linux/hrtimer.h | 1 -
    kernel/time/alarmtimer.c | 6 +++---
    kernel/time/hrtimer.c | 16 ----------------
    kernel/time/posix-timers.c | 17 ++++++++++++-----
    4 files changed, 15 insertions(+), 25 deletions(-)

    Index: tip/include/linux/hrtimer.h
    ===================================================================
    --- tip.orig/include/linux/hrtimer.h
    +++ tip/include/linux/hrtimer.h
    @@ -385,7 +385,6 @@ static inline int hrtimer_restart(struct

    /* Query timers: */
    extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer);
    -extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp);

    extern ktime_t hrtimer_get_next_event(void);

    Index: tip/kernel/time/alarmtimer.c
    ===================================================================
    --- tip.orig/kernel/time/alarmtimer.c
    +++ tip/kernel/time/alarmtimer.c
    @@ -495,12 +495,12 @@ static enum alarmtimer_restart alarm_han
    */
    static int alarm_clock_getres(const clockid_t which_clock, struct timespec *tp)
    {
    - clockid_t baseid = alarm_bases[clock2alarm(which_clock)].base_clockid;
    -
    if (!alarmtimer_get_rtcdev())
    return -EINVAL;

    - return hrtimer_get_res(baseid, tp);
    + tp->tv_sec = 0;
    + tp->tv_nsec = hrtimer_resolution;
    + return 0;
    }

    /**
    Index: tip/kernel/time/hrtimer.c
    ===================================================================
    --- tip.orig/kernel/time/hrtimer.c
    +++ tip/kernel/time/hrtimer.c
    @@ -1171,22 +1171,6 @@ void hrtimer_init(struct hrtimer *timer,
    }
    EXPORT_SYMBOL_GPL(hrtimer_init);

    -/**
    - * hrtimer_get_res - get the timer resolution for a clock
    - * @which_clock: which clock to query
    - * @tp: pointer to timespec variable to store the resolution
    - *
    - * Store the resolution of the clock selected by @which_clock in the
    - * variable pointed to by @tp.
    - */
    -int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp)
    -{
    - tp->tv_sec = 0;
    - tp->tv_nsec = hrtimer_resolution;
    - return 0;
    -}
    -EXPORT_SYMBOL_GPL(hrtimer_get_res);
    -
    static void __run_hrtimer(struct hrtimer *timer, ktime_t *now)
    {
    struct hrtimer_clock_base *base = timer->base;
    Index: tip/kernel/time/posix-timers.c
    ===================================================================
    --- tip.orig/kernel/time/posix-timers.c
    +++ tip/kernel/time/posix-timers.c
    @@ -272,13 +272,20 @@ static int posix_get_tai(clockid_t which
    return 0;
    }

    +static int posix_get_hrtimer_res(clockid_t which_clock, struct timespec *tp)
    +{
    + tp->tv_sec = 0;
    + tp->tv_nsec = hrtimer_resolution;
    + return 0;
    +}
    +
    /*
    * Initialize everything, well, just everything in Posix clocks/timers ;)
    */
    static __init int init_posix_timers(void)
    {
    struct k_clock clock_realtime = {
    - .clock_getres = hrtimer_get_res,
    + .clock_getres = posix_get_hrtimer_res,
    .clock_get = posix_clock_realtime_get,
    .clock_set = posix_clock_realtime_set,
    .clock_adj = posix_clock_realtime_adj,
    @@ -290,7 +297,7 @@ static __init int init_posix_timers(void
    .timer_del = common_timer_del,
    };
    struct k_clock clock_monotonic = {
    - .clock_getres = hrtimer_get_res,
    + .clock_getres = posix_get_hrtimer_res,
    .clock_get = posix_ktime_get_ts,
    .nsleep = common_nsleep,
    .nsleep_restart = hrtimer_nanosleep_restart,
    @@ -300,7 +307,7 @@ static __init int init_posix_timers(void
    .timer_del = common_timer_del,
    };
    struct k_clock clock_monotonic_raw = {
    - .clock_getres = hrtimer_get_res,
    + .clock_getres = posix_get_hrtimer_res,
    .clock_get = posix_get_monotonic_raw,
    };
    struct k_clock clock_realtime_coarse = {
    @@ -312,7 +319,7 @@ static __init int init_posix_timers(void
    .clock_get = posix_get_monotonic_coarse,
    };
    struct k_clock clock_tai = {
    - .clock_getres = hrtimer_get_res,
    + .clock_getres = posix_get_hrtimer_res,
    .clock_get = posix_get_tai,
    .nsleep = common_nsleep,
    .nsleep_restart = hrtimer_nanosleep_restart,
    @@ -322,7 +329,7 @@ static __init int init_posix_timers(void
    .timer_del = common_timer_del,
    };
    struct k_clock clock_boottime = {
    - .clock_getres = hrtimer_get_res,
    + .clock_getres = posix_get_hrtimer_res,
    .clock_get = posix_get_boottime,
    .nsleep = common_nsleep,
    .nsleep_restart = hrtimer_nanosleep_restart,



    \
     
     \ /
      Last update: 2015-04-14 23:41    [W:4.023 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site