mirror of
https://git.yoctoproject.org/poky
synced 2026-05-05 07:39:49 +02:00
linux-omap2: Add from OE for beagleboard
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4869 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
|
||||
index b854a89..26f5569 100644
|
||||
--- a/kernel/time/tick-sched.c
|
||||
+++ b/kernel/time/tick-sched.c
|
||||
@@ -253,6 +253,16 @@ void tick_nohz_stop_sched_tick(void)
|
||||
|
||||
/* Schedule the tick, if we are at least one jiffie off */
|
||||
if ((long)delta_jiffies >= 1) {
|
||||
+ /*
|
||||
+ * calculate the expiry time for the next timer wheel
|
||||
+ * timer
|
||||
+ */
|
||||
+ expires = ktime_add_ns(last_update, tick_period.tv64 *
|
||||
+ delta_jiffies);
|
||||
+
|
||||
+ /* Skip reprogram of event if its not changed */
|
||||
+ if(ts->tick_stopped && ktime_equal(expires, dev->next_event))
|
||||
+ goto out2;
|
||||
|
||||
if (delta_jiffies > 1)
|
||||
cpu_set(cpu, nohz_cpu_mask);
|
||||
@@ -304,12 +314,7 @@ void tick_nohz_stop_sched_tick(void)
|
||||
goto out;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * calculate the expiry time for the next timer wheel
|
||||
- * timer
|
||||
- */
|
||||
- expires = ktime_add_ns(last_update, tick_period.tv64 *
|
||||
- delta_jiffies);
|
||||
+ /* Mark expiries */
|
||||
ts->idle_expires = expires;
|
||||
|
||||
if (ts->nohz_mode == NOHZ_MODE_HIGHRES) {
|
||||
@@ -328,6 +333,7 @@ void tick_nohz_stop_sched_tick(void)
|
||||
tick_do_update_jiffies64(ktime_get());
|
||||
cpu_clear(cpu, nohz_cpu_mask);
|
||||
}
|
||||
+out2:
|
||||
raise_softirq_irqoff(TIMER_SOFTIRQ);
|
||||
out:
|
||||
ts->next_jiffies = next_jiffies;
|
||||
Reference in New Issue
Block a user