diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-05-12 09:43:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-05-30 08:16:10 -0400 |
commit | 7a14ce1d8c1d3a6118d406e64eaf9aa70375e085 (patch) | |
tree | 01a0d9f785a849fc4242d024bd1afa7deb7c1bf6 /kernel/time/tick-sched.c | |
parent | 916941b2bfd9c4a8b66855f198ae16c3f51ef570 (diff) |
nohz: reduce jiffies polling overhead
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/time/tick-sched.c')
-rw-r--r-- | kernel/time/tick-sched.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index b854a895591e..cb75394ed00e 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -48,6 +48,13 @@ static void tick_do_update_jiffies64(ktime_t now) | |||
48 | unsigned long ticks = 0; | 48 | unsigned long ticks = 0; |
49 | ktime_t delta; | 49 | ktime_t delta; |
50 | 50 | ||
51 | /* | ||
52 | * Do a quick check without holding xtime_lock: | ||
53 | */ | ||
54 | delta = ktime_sub(now, last_jiffies_update); | ||
55 | if (delta.tv64 < tick_period.tv64) | ||
56 | return; | ||
57 | |||
51 | /* Reevalute with xtime_lock held */ | 58 | /* Reevalute with xtime_lock held */ |
52 | write_seqlock(&xtime_lock); | 59 | write_seqlock(&xtime_lock); |
53 | 60 | ||