diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-06 12:39:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-06 12:39:22 -0400 |
commit | c4efd6b569b2646e1346a08a4c40286f8bcb5f11 (patch) | |
tree | bf33e8594ac4e628cc95f2ef25513788b8273601 /arch/powerpc | |
parent | 4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9 (diff) | |
parent | 0bcfe75807944106a3aa655a54bb610d62f3a7f5 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
sched: Use correct macro to display sched_child_runs_first in /proc/sched_debug
sched: No need for bootmem special cases
sched: Revert nohz_ratelimit() for now
sched: Reduce update_group_power() calls
sched: Update rq->clock for nohz balanced cpus
sched: Fix spelling of sibling
sched, cpuset: Drop __cpuexit from cpu hotplug callbacks
sched: Fix the racy usage of thread_group_cputimer() in fastpath_timer_check()
sched: run_posix_cpu_timers: Don't check ->exit_state, use lock_task_sighand()
sched: thread_group_cputime: Simplify, document the "alive" check
sched: Remove the obsolete exit_state/signal hacks
sched: task_tick_rt: Remove the obsolete ->signal != NULL check
sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless
sched: Fix comments to make them DocBook happy
sched: Fix fix_small_capacity
powerpc: Exclude arch_sd_sibiling_asym_packing() on UP
powerpc: Enable asymmetric SMT scheduling on POWER7
sched: Add asymmetric group packing option for sibling domain
sched: Fix capacity calculations for SMT4
sched: Change nohz idle load balancing logic to push model
...
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/cputable.h | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/process.c | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index 5e2e2cfcc81b..3a40a992e594 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h | |||
@@ -197,6 +197,7 @@ extern const char *powerpc_base_platform; | |||
197 | #define CPU_FTR_SAO LONG_ASM_CONST(0x0020000000000000) | 197 | #define CPU_FTR_SAO LONG_ASM_CONST(0x0020000000000000) |
198 | #define CPU_FTR_CP_USE_DCBTZ LONG_ASM_CONST(0x0040000000000000) | 198 | #define CPU_FTR_CP_USE_DCBTZ LONG_ASM_CONST(0x0040000000000000) |
199 | #define CPU_FTR_UNALIGNED_LD_STD LONG_ASM_CONST(0x0080000000000000) | 199 | #define CPU_FTR_UNALIGNED_LD_STD LONG_ASM_CONST(0x0080000000000000) |
200 | #define CPU_FTR_ASYM_SMT LONG_ASM_CONST(0x0100000000000000) | ||
200 | 201 | ||
201 | #ifndef __ASSEMBLY__ | 202 | #ifndef __ASSEMBLY__ |
202 | 203 | ||
@@ -412,7 +413,7 @@ extern const char *powerpc_base_platform; | |||
412 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 413 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ |
413 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ | 414 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ |
414 | CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \ | 415 | CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \ |
415 | CPU_FTR_DSCR | CPU_FTR_SAO) | 416 | CPU_FTR_DSCR | CPU_FTR_SAO | CPU_FTR_ASYM_SMT) |
416 | #define CPU_FTRS_CELL (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ | 417 | #define CPU_FTRS_CELL (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ |
417 | CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ | 418 | CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ |
418 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 419 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 551f6713ff42..e78a5add7f15 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -1299,3 +1299,14 @@ unsigned long randomize_et_dyn(unsigned long base) | |||
1299 | 1299 | ||
1300 | return ret; | 1300 | return ret; |
1301 | } | 1301 | } |
1302 | |||
1303 | #ifdef CONFIG_SMP | ||
1304 | int arch_sd_sibling_asym_packing(void) | ||
1305 | { | ||
1306 | if (cpu_has_feature(CPU_FTR_ASYM_SMT)) { | ||
1307 | printk_once(KERN_INFO "Enabling Asymmetric SMT scheduling\n"); | ||
1308 | return SD_ASYM_PACKING; | ||
1309 | } | ||
1310 | return 0; | ||
1311 | } | ||
1312 | #endif | ||