diff options
author | Karsten Wiese <fzu@wemgehoertderstaat.de> | 2008-02-28 09:10:50 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-04-17 06:22:31 -0400 |
commit | 903b8a8d4835a796f582033802c83283886f4a3d (patch) | |
tree | 11837b4da0000633f90000bb47aaa4fa82a029be /kernel/time/tick-sched.c | |
parent | 3f3eafc921e2378954c28cfd0eb10910449f4c11 (diff) |
clockevents: optimise tick_nohz_stop_sched_tick() a bit
Call
ts = &per_cpu(tick_cpu_sched, cpu);
and
cpu = smp_processor_id();
once instead of twice.
No functional change done, as changed code runs with local irq off.
Reduces source lines and text size (20bytes on x86_64).
[ akpm@linux-foundation.org: Build fix ]
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/tick-sched.c')
-rw-r--r-- | kernel/time/tick-sched.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 686da821d376..69dba0c71727 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -158,9 +158,8 @@ void tick_nohz_stop_idle(int cpu) | |||
158 | } | 158 | } |
159 | } | 159 | } |
160 | 160 | ||
161 | static ktime_t tick_nohz_start_idle(int cpu) | 161 | static ktime_t tick_nohz_start_idle(struct tick_sched *ts) |
162 | { | 162 | { |
163 | struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); | ||
164 | ktime_t now, delta; | 163 | ktime_t now, delta; |
165 | 164 | ||
166 | now = ktime_get(); | 165 | now = ktime_get(); |
@@ -201,8 +200,8 @@ void tick_nohz_stop_sched_tick(void) | |||
201 | local_irq_save(flags); | 200 | local_irq_save(flags); |
202 | 201 | ||
203 | cpu = smp_processor_id(); | 202 | cpu = smp_processor_id(); |
204 | now = tick_nohz_start_idle(cpu); | ||
205 | ts = &per_cpu(tick_cpu_sched, cpu); | 203 | ts = &per_cpu(tick_cpu_sched, cpu); |
204 | now = tick_nohz_start_idle(ts); | ||
206 | 205 | ||
207 | /* | 206 | /* |
208 | * If this cpu is offline and it is the one which updates | 207 | * If this cpu is offline and it is the one which updates |
@@ -222,7 +221,6 @@ void tick_nohz_stop_sched_tick(void) | |||
222 | if (need_resched()) | 221 | if (need_resched()) |
223 | goto end; | 222 | goto end; |
224 | 223 | ||
225 | cpu = smp_processor_id(); | ||
226 | if (unlikely(local_softirq_pending())) { | 224 | if (unlikely(local_softirq_pending())) { |
227 | static int ratelimit; | 225 | static int ratelimit; |
228 | 226 | ||