Skip to content

Commit

Permalink
clockevents: optimise tick_nohz_stop_sched_tick() a bit
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Karsten Wiese authored and Thomas Gleixner committed Apr 17, 2008
1 parent 3f3eafc commit 903b8a8
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions kernel/time/tick-sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,8 @@ void tick_nohz_stop_idle(int cpu)
}
}

static ktime_t tick_nohz_start_idle(int cpu)
static ktime_t tick_nohz_start_idle(struct tick_sched *ts)
{
struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
ktime_t now, delta;

now = ktime_get();
Expand Down Expand Up @@ -201,8 +200,8 @@ void tick_nohz_stop_sched_tick(void)
local_irq_save(flags);

cpu = smp_processor_id();
now = tick_nohz_start_idle(cpu);
ts = &per_cpu(tick_cpu_sched, cpu);
now = tick_nohz_start_idle(ts);

/*
* If this cpu is offline and it is the one which updates
Expand All @@ -222,7 +221,6 @@ void tick_nohz_stop_sched_tick(void)
if (need_resched())
goto end;

cpu = smp_processor_id();
if (unlikely(local_softirq_pending())) {
static int ratelimit;

Expand Down

0 comments on commit 903b8a8

Please sign in to comment.