diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-31 14:21:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-03-31 14:21:19 -0400 |
commit | 971eae7c99212dd67b425a603f1fe3b763359907 (patch) | |
tree | 2ff002ecc759275cbecee123a230f90ea7452b18 /arch/arm | |
parent | 8c292f11744297dfb3a69f4a0bccbe4a6417b50d (diff) | |
parent | 6037dd1a49f95092824fa8ba75c717ff7805e317 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler changes from Ingo Molnar:
"Bigger changes:
- sched/idle restructuring: they are WIP preparation for deeper
integration between the scheduler and idle state selection, by
Nicolas Pitre.
- add NUMA scheduling pseudo-interleaving, by Rik van Riel.
- optimize cgroup context switches, by Peter Zijlstra.
- RT scheduling enhancements, by Thomas Gleixner.
The rest is smaller changes, non-urgnt fixes and cleanups"
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
sched: Clean up the task_hot() function
sched: Remove double calculation in fix_small_imbalance()
sched: Fix broken setscheduler()
sparc64, sched: Remove unused sparc64_multi_core
sched: Remove unused mc_capable() and smt_capable()
sched/numa: Move task_numa_free() to __put_task_struct()
sched/fair: Fix endless loop in idle_balance()
sched/core: Fix endless loop in pick_next_task()
sched/fair: Push down check for high priority class task into idle_balance()
sched/rt: Fix picking RT and DL tasks from empty queue
trace: Replace hardcoding of 19 with MAX_NICE
sched: Guarantee task priority in pick_next_task()
sched/idle: Remove stale old file
sched: Put rq's sched_avg under CONFIG_FAIR_GROUP_SCHED
cpuidle/arm64: Remove redundant cpuidle_idle_call()
cpuidle/powernv: Remove redundant cpuidle_idle_call()
sched, nohz: Exclude isolated cores from load balancing
sched: Fix select_task_rq_fair() description comments
workqueue: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
sys: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
...
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/include/asm/topology.h | 3 | ||||
-rw-r--r-- | arch/arm/kernel/process.c | 16 |
2 files changed, 5 insertions, 14 deletions
diff --git a/arch/arm/include/asm/topology.h b/arch/arm/include/asm/topology.h index 58b8b84adcd2..2fe85fff5cca 100644 --- a/arch/arm/include/asm/topology.h +++ b/arch/arm/include/asm/topology.h | |||
@@ -20,9 +20,6 @@ extern struct cputopo_arm cpu_topology[NR_CPUS]; | |||
20 | #define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_sibling) | 20 | #define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_sibling) |
21 | #define topology_thread_cpumask(cpu) (&cpu_topology[cpu].thread_sibling) | 21 | #define topology_thread_cpumask(cpu) (&cpu_topology[cpu].thread_sibling) |
22 | 22 | ||
23 | #define mc_capable() (cpu_topology[0].socket_id != -1) | ||
24 | #define smt_capable() (cpu_topology[0].thread_id != -1) | ||
25 | |||
26 | void init_cpu_topology(void); | 23 | void init_cpu_topology(void); |
27 | void store_cpu_topology(unsigned int cpuid); | 24 | void store_cpu_topology(unsigned int cpuid); |
28 | const struct cpumask *cpu_coregroup_mask(int cpu); | 25 | const struct cpumask *cpu_coregroup_mask(int cpu); |
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 92f7b15dd221..adabeababeb0 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/uaccess.h> | 30 | #include <linux/uaccess.h> |
31 | #include <linux/random.h> | 31 | #include <linux/random.h> |
32 | #include <linux/hw_breakpoint.h> | 32 | #include <linux/hw_breakpoint.h> |
33 | #include <linux/cpuidle.h> | ||
34 | #include <linux/leds.h> | 33 | #include <linux/leds.h> |
35 | #include <linux/reboot.h> | 34 | #include <linux/reboot.h> |
36 | 35 | ||
@@ -133,7 +132,11 @@ EXPORT_SYMBOL_GPL(arm_pm_restart); | |||
133 | 132 | ||
134 | void (*arm_pm_idle)(void); | 133 | void (*arm_pm_idle)(void); |
135 | 134 | ||
136 | static void default_idle(void) | 135 | /* |
136 | * Called from the core idle loop. | ||
137 | */ | ||
138 | |||
139 | void arch_cpu_idle(void) | ||
137 | { | 140 | { |
138 | if (arm_pm_idle) | 141 | if (arm_pm_idle) |
139 | arm_pm_idle(); | 142 | arm_pm_idle(); |
@@ -168,15 +171,6 @@ void arch_cpu_idle_dead(void) | |||
168 | #endif | 171 | #endif |
169 | 172 | ||
170 | /* | 173 | /* |
171 | * Called from the core idle loop. | ||
172 | */ | ||
173 | void arch_cpu_idle(void) | ||
174 | { | ||
175 | if (cpuidle_idle_call()) | ||
176 | default_idle(); | ||
177 | } | ||
178 | |||
179 | /* | ||
180 | * Called by kexec, immediately prior to machine_kexec(). | 174 | * Called by kexec, immediately prior to machine_kexec(). |
181 | * | 175 | * |
182 | * This must completely disable all secondary CPUs; simply causing those CPUs | 176 | * This must completely disable all secondary CPUs; simply causing those CPUs |