aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 16:29:20 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-19 16:29:20 -0500
commit4bb9374e0bd40d8fe97860ea0d61a0330b7c3925 (patch)
treec0b48d4c2c7dca8eec164bea7bba09ae839dec2d
parentac88ee3b6cbac80c32556a39fe16c4bbc55fcbc5 (diff)
parenta5fd9733a30d18d7ac23f17080e7e07bb3205b69 (diff)
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull NOHZ update from Thomas Gleixner: "Remove the call into the nohz idle code from the fake 'idle' thread in the powerclamp driver along with the export of those functions which was smuggeled in via the thermal tree. People have tried to hack around it in the nohz core code, but it just violates all rightful assumptions of that code about the only valid calling context (i.e. the proper idle task). The powerclamp trainwreck will still work, it just wont get the benefit of long idle sleeps" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tick/powerclamp: Remove tick_nohz_idle abuse
-rw-r--r--drivers/thermal/intel_powerclamp.c2
-rw-r--r--kernel/time/tick-sched.c2
2 files changed, 0 insertions, 4 deletions
diff --git a/drivers/thermal/intel_powerclamp.c b/drivers/thermal/intel_powerclamp.c
index b46c706e1cac..e98b4249187c 100644
--- a/drivers/thermal/intel_powerclamp.c
+++ b/drivers/thermal/intel_powerclamp.c
@@ -435,7 +435,6 @@ static int clamp_thread(void *arg)
435 * allowed. thus jiffies are updated properly. 435 * allowed. thus jiffies are updated properly.
436 */ 436 */
437 preempt_disable(); 437 preempt_disable();
438 tick_nohz_idle_enter();
439 /* mwait until target jiffies is reached */ 438 /* mwait until target jiffies is reached */
440 while (time_before(jiffies, target_jiffies)) { 439 while (time_before(jiffies, target_jiffies)) {
441 unsigned long ecx = 1; 440 unsigned long ecx = 1;
@@ -451,7 +450,6 @@ static int clamp_thread(void *arg)
451 start_critical_timings(); 450 start_critical_timings();
452 atomic_inc(&idle_wakeup_counter); 451 atomic_inc(&idle_wakeup_counter);
453 } 452 }
454 tick_nohz_idle_exit();
455 preempt_enable(); 453 preempt_enable();
456 } 454 }
457 del_timer_sync(&wakeup_timer); 455 del_timer_sync(&wakeup_timer);
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 4d54b7540585..1363d58f07e9 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -847,7 +847,6 @@ void tick_nohz_idle_enter(void)
847 847
848 local_irq_enable(); 848 local_irq_enable();
849} 849}
850EXPORT_SYMBOL_GPL(tick_nohz_idle_enter);
851 850
852/** 851/**
853 * tick_nohz_irq_exit - update next tick event from interrupt exit 852 * tick_nohz_irq_exit - update next tick event from interrupt exit
@@ -974,7 +973,6 @@ void tick_nohz_idle_exit(void)
974 973
975 local_irq_enable(); 974 local_irq_enable();
976} 975}
977EXPORT_SYMBOL_GPL(tick_nohz_idle_exit);
978 976
979static int tick_nohz_reprogram(struct tick_sched *ts, ktime_t now) 977static int tick_nohz_reprogram(struct tick_sched *ts, ktime_t now)
980{ 978{