diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-06 11:02:40 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-06 11:02:40 -0500 |
commit | 423d091dfe58d3109d84c408810a7cfa82f6f184 (patch) | |
tree | 43c4385d1dc7219582f924d42db1f3e203a577bd /arch/unicore32/kernel/process.c | |
parent | 1483b3823542c9721eddf09a077af1e02ac96b50 (diff) | |
parent | 919b83452b2e7c1dbced0456015508b4b9585db3 (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
cpu: Export cpu_up()
rcu: Apply ACCESS_ONCE() to rcu_boost() return value
Revert "rcu: Permit rt_mutex_unlock() with irqs disabled"
docs: Additional LWN links to RCU API
rcu: Augment rcu_batch_end tracing for idle and callback state
rcu: Add rcutorture tests for srcu_read_lock_raw()
rcu: Make rcutorture test for hotpluggability before offlining CPUs
driver-core/cpu: Expose hotpluggability to the rest of the kernel
rcu: Remove redundant rcu_cpu_stall_suppress declaration
rcu: Adaptive dyntick-idle preparation
rcu: Keep invoking callbacks if CPU otherwise idle
rcu: Irq nesting is always 0 on rcu_enter_idle_common
rcu: Don't check irq nesting from rcu idle entry/exit
rcu: Permit dyntick-idle with callbacks pending
rcu: Document same-context read-side constraints
rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass
rcu: Remove dynticks false positives and RCU failures
rcu: Reduce latency of rcu_prepare_for_idle()
rcu: Eliminate RCU_FAST_NO_HZ grace-period hang
rcu: Avoid needlessly IPIing CPUs at GP end
...
Diffstat (limited to 'arch/unicore32/kernel/process.c')
-rw-r--r-- | arch/unicore32/kernel/process.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/unicore32/kernel/process.c b/arch/unicore32/kernel/process.c index ba401df971ed..52edc2b62873 100644 --- a/arch/unicore32/kernel/process.c +++ b/arch/unicore32/kernel/process.c | |||
@@ -55,7 +55,8 @@ void cpu_idle(void) | |||
55 | { | 55 | { |
56 | /* endless idle loop with no priority at all */ | 56 | /* endless idle loop with no priority at all */ |
57 | while (1) { | 57 | while (1) { |
58 | tick_nohz_stop_sched_tick(1); | 58 | tick_nohz_idle_enter(); |
59 | rcu_idle_enter(); | ||
59 | while (!need_resched()) { | 60 | while (!need_resched()) { |
60 | local_irq_disable(); | 61 | local_irq_disable(); |
61 | stop_critical_timings(); | 62 | stop_critical_timings(); |
@@ -63,7 +64,8 @@ void cpu_idle(void) | |||
63 | local_irq_enable(); | 64 | local_irq_enable(); |
64 | start_critical_timings(); | 65 | start_critical_timings(); |
65 | } | 66 | } |
66 | tick_nohz_restart_sched_tick(); | 67 | rcu_idle_exit(); |
68 | tick_nohz_idle_exit(); | ||
67 | preempt_enable_no_resched(); | 69 | preempt_enable_no_resched(); |
68 | schedule(); | 70 | schedule(); |
69 | preempt_disable(); | 71 | preempt_disable(); |