Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 277210
b: refs/heads/master
c: e37e112
h: refs/heads/master
v: v3
  • Loading branch information
Frederic Weisbecker authored and Paul E. McKenney committed Dec 11, 2011
1 parent aa8f78e commit c4dcd5c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd
refs/heads/master: e37e112de3ac64032df45c2db0dbe1e8f1af86b4
10 changes: 8 additions & 2 deletions trunk/arch/x86/kernel/process_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ void cpu_idle(void)

/* endless idle loop with no priority at all */
while (1) {
tick_nohz_idle_enter_norcu();
tick_nohz_idle_enter();
while (!need_resched()) {

rmb();
Expand All @@ -139,8 +139,14 @@ void cpu_idle(void)
enter_idle();
/* Don't trace irqs off for idle */
stop_critical_timings();

/* enter_idle() needs rcu for notifiers */
rcu_idle_enter();

if (cpuidle_idle_call())
pm_idle();

rcu_idle_exit();
start_critical_timings();

/* In many cases the interrupt that ended idle
Expand All @@ -149,7 +155,7 @@ void cpu_idle(void)
__exit_idle();
}

tick_nohz_idle_exit_norcu();
tick_nohz_idle_exit();
preempt_enable_no_resched();
schedule();
preempt_disable();
Expand Down

0 comments on commit c4dcd5c

Please sign in to comment.