Commit 5313a20b authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/tick-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/tick-2.6:
  [TICK] tick-common: Fix one-shot handling in tick_handle_periodic().
  [TIME] tick-sched: Add missing asm/irq_regs.h include.
parents a7538a7f 3494c166
...@@ -77,6 +77,7 @@ static void tick_periodic(int cpu) ...@@ -77,6 +77,7 @@ static void tick_periodic(int cpu)
void tick_handle_periodic(struct clock_event_device *dev) void tick_handle_periodic(struct clock_event_device *dev)
{ {
int cpu = smp_processor_id(); int cpu = smp_processor_id();
ktime_t next;
tick_periodic(cpu); tick_periodic(cpu);
...@@ -86,12 +87,12 @@ void tick_handle_periodic(struct clock_event_device *dev) ...@@ -86,12 +87,12 @@ void tick_handle_periodic(struct clock_event_device *dev)
* Setup the next period for devices, which do not have * Setup the next period for devices, which do not have
* periodic mode: * periodic mode:
*/ */
next = ktime_add(dev->next_event, tick_period);
for (;;) { for (;;) {
ktime_t next = ktime_add(dev->next_event, tick_period);
if (!clockevents_program_event(dev, next, ktime_get())) if (!clockevents_program_event(dev, next, ktime_get()))
return; return;
tick_periodic(cpu); tick_periodic(cpu);
next = ktime_add(next, tick_period);
} }
} }
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/tick.h> #include <linux/tick.h>
#include <asm/irq_regs.h>
#include "tick-internal.h" #include "tick-internal.h"
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment