diff options
author | Marcin Juszkiewicz <marcin@buglabs.net> | 2009-04-27 16:41:24 +0200 |
---|---|---|
committer | Marcin Juszkiewicz <marcin@buglabs.net> | 2009-04-28 18:09:45 +0200 |
commit | 0adc74b06210f1be01145a5977a36b83aca0aa68 (patch) | |
tree | 378495bdf474a70afef101f9e1859953d8826129 /meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch | |
parent | d65be3dd2aaa643b5596c8470caf7f291513efee (diff) | |
download | openembedded-core-0adc74b06210f1be01145a5977a36b83aca0aa68.tar.gz openembedded-core-0adc74b06210f1be01145a5977a36b83aca0aa68.tar.bz2 openembedded-core-0adc74b06210f1be01145a5977a36b83aca0aa68.zip |
beagleboard: added 2.6.29 kernel from OE
tested on B7
Signed-off-by: Marcin Juszkiewicz <marcin@buglabs.net>
Diffstat (limited to 'meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch')
-rw-r--r-- | meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch b/meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch new file mode 100644 index 0000000000..04362c96e3 --- /dev/null +++ b/meta/packages/linux/linux-omap-2.6.29/timer-suppression.patch @@ -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; |