lkml.org 
[lkml]   [2014]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 03/16] hrtimer: Create hrtimer_get_monoexpires()
Date
Following code is repeated at many places:
ktime_sub(hrtimer_get_expires(timer), base->offset);

and so it makes sense to create a separate inlined routine for this.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
include/linux/hrtimer.h | 6 ++++++
kernel/hrtimer.c | 11 +++++------
2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 6f524db..377023b 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -233,6 +233,12 @@ static inline ktime_t hrtimer_get_expires(const struct hrtimer *timer)
return timer->node.expires;
}

+static inline ktime_t hrtimer_get_monoexpires(const struct hrtimer *timer,
+ struct hrtimer_clock_base *base)
+{
+ return ktime_sub(hrtimer_get_expires(timer), base->offset);
+}
+
static inline ktime_t hrtimer_get_softexpires(const struct hrtimer *timer)
{
return timer->_softexpires;
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 6476152..675fe9e 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -184,7 +184,7 @@ hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base)
if (!new_base->cpu_base->hres_active)
return 0;

- expires = ktime_sub(hrtimer_get_expires(timer), new_base->offset);
+ expires = hrtimer_get_monoexpires(timer, new_base);
return expires.tv64 <= new_base->cpu_base->expires_next.tv64;
#else
return 0;
@@ -555,7 +555,7 @@ hrtimer_force_reprogram(struct hrtimer_cpu_base *cpu_base, int skip_equal)
continue;
timer = container_of(next, struct hrtimer, node);

- expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
+ expires = hrtimer_get_monoexpires(timer, base);
/*
* clock_was_set() has changed base->offset so the
* result might be negative. Fix it up to prevent a
@@ -589,7 +589,7 @@ static int hrtimer_reprogram(struct hrtimer *timer,
struct hrtimer_clock_base *base)
{
struct hrtimer_cpu_base *cpu_base = &__get_cpu_var(hrtimer_bases);
- ktime_t expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
+ ktime_t expires = hrtimer_get_monoexpires(timer, base);
int res;

WARN_ON_ONCE(hrtimer_get_expires_tv64(timer) < 0);
@@ -898,7 +898,7 @@ static void __remove_hrtimer(struct hrtimer *timer,
&timer->node == timerqueue_getnext(&base->active)) {
ktime_t expires;

- expires = ktime_sub(hrtimer_get_expires(timer), base->offset);
+ expires = hrtimer_get_monoexpires(timer, base);
if (base->cpu_base->expires_next.tv64 == expires.tv64)
hrtimer_force_reprogram(base->cpu_base, 1);
}
@@ -1306,8 +1306,7 @@ retry:
if (basenow.tv64 < hrtimer_get_softexpires_tv64(timer)) {
ktime_t expires;

- expires = ktime_sub(hrtimer_get_expires(timer),
- base->offset);
+ expires = hrtimer_get_monoexpires(timer, base);
if (expires.tv64 < 0)
expires.tv64 = KTIME_MAX;
if (expires.tv64 < expires_next.tv64)
--
1.7.12.rc2.18.g61b472e


\
 
 \ /
  Last update: 2014-03-28 13:21    [W:0.147 / U:1.888 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site