diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 13:31:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 13:31:44 -0400 |
commit | 2ba68940c893c8f0bfc8573c041254251bb6aeab (patch) | |
tree | fa83ebb01d32abd98123fa28f9f6f0b3eaeee25d /arch/sparc | |
parent | 9c2b957db1772ebf942ae7a9346b14eba6c8ca66 (diff) | |
parent | 600e145882802d6ccbfe2c4aea243d97caeb91a9 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler changes for v3.4 from Ingo Molnar
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
printk: Make it compile with !CONFIG_PRINTK
sched/x86: Fix overflow in cyc2ns_offset
sched: Fix nohz load accounting -- again!
sched: Update yield() docs
printk/sched: Introduce special printk_sched() for those awkward moments
sched/nohz: Correctly initialize 'next_balance' in 'nohz' idle balancer
sched: Cleanup cpu_active madness
sched: Fix load-balance wreckage
sched: Clean up parameter passing of proc_sched_autogroup_set_nice()
sched: Ditch per cgroup task lists for load-balancing
sched: Rename load-balancing fields
sched: Move load-balancing arguments into helper struct
sched/rt: Do not submit new work when PI-blocked
sched/rt: Prevent idle task boosting
sched/wait: Add __wake_up_all_locked() API
sched/rt: Document scheduler related skip-resched-check sites
sched/rt: Use schedule_preempt_disabled()
sched/rt: Add schedule_preempt_disabled()
sched/rt: Do not throttle when PI boosting
sched/rt: Keep period timer ticking when rt throttling is active
...
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/kernel/process_32.c | 8 | ||||
-rw-r--r-- | arch/sparc/kernel/process_64.c | 10 |
2 files changed, 6 insertions, 12 deletions
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c index f793742eec2b..935fdbcd88c2 100644 --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c | |||
@@ -113,9 +113,7 @@ void cpu_idle(void) | |||
113 | while (!need_resched()) | 113 | while (!need_resched()) |
114 | cpu_relax(); | 114 | cpu_relax(); |
115 | } | 115 | } |
116 | preempt_enable_no_resched(); | 116 | schedule_preempt_disabled(); |
117 | schedule(); | ||
118 | preempt_disable(); | ||
119 | check_pgt_cache(); | 117 | check_pgt_cache(); |
120 | } | 118 | } |
121 | } | 119 | } |
@@ -138,9 +136,7 @@ void cpu_idle(void) | |||
138 | while (!need_resched()) | 136 | while (!need_resched()) |
139 | cpu_relax(); | 137 | cpu_relax(); |
140 | } | 138 | } |
141 | preempt_enable_no_resched(); | 139 | schedule_preempt_disabled(); |
142 | schedule(); | ||
143 | preempt_disable(); | ||
144 | check_pgt_cache(); | 140 | check_pgt_cache(); |
145 | } | 141 | } |
146 | } | 142 | } |
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c index 39d8b05201a2..06b5b5fc20c7 100644 --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c | |||
@@ -104,15 +104,13 @@ void cpu_idle(void) | |||
104 | rcu_idle_exit(); | 104 | rcu_idle_exit(); |
105 | tick_nohz_idle_exit(); | 105 | tick_nohz_idle_exit(); |
106 | 106 | ||
107 | preempt_enable_no_resched(); | ||
108 | |||
109 | #ifdef CONFIG_HOTPLUG_CPU | 107 | #ifdef CONFIG_HOTPLUG_CPU |
110 | if (cpu_is_offline(cpu)) | 108 | if (cpu_is_offline(cpu)) { |
109 | sched_preempt_enable_no_resched(); | ||
111 | cpu_play_dead(); | 110 | cpu_play_dead(); |
111 | } | ||
112 | #endif | 112 | #endif |
113 | 113 | schedule_preempt_disabled(); | |
114 | schedule(); | ||
115 | preempt_disable(); | ||
116 | } | 114 | } |
117 | } | 115 | } |
118 | 116 | ||