diff options
-rw-r--r-- | arch/powerpc/include/asm/cputable.h | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/process.c | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index b0b21134f61a..4b611ca1a768 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 9d255b4f0a0e..a3f347c635b2 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -1268,3 +1268,12 @@ unsigned long randomize_et_dyn(unsigned long base) | |||
1268 | 1268 | ||
1269 | return ret; | 1269 | return ret; |
1270 | } | 1270 | } |
1271 | |||
1272 | int arch_sd_sibiling_asym_packing(void) | ||
1273 | { | ||
1274 | if (cpu_has_feature(CPU_FTR_ASYM_SMT)) { | ||
1275 | printk_once(KERN_INFO "Enabling Asymmetric SMT scheduling\n"); | ||
1276 | return SD_ASYM_PACKING; | ||
1277 | } | ||
1278 | return 0; | ||
1279 | } | ||