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 | |
| parent | 916941b2bfd9c4a8b66855f198ae16c3f51ef570 (diff) | |
nohz: reduce jiffies polling overhead
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/time')
| -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 | ||
