[PATCH 2 2/4] powerpc: drop smt_enabled_at_boot
Greg Kurz
gkurz at linux.vnet.ibm.com
Sat Dec 6 02:14:50 AEDT 2014
The paths using the smt_enabled_at_boot variable reveal the following
lifecycle:
initial value: int smt_enabled_at_boot = 1
|
|
check_smt_enabled(): smt_enabled_at_boot = threads_per_core
|
|
setup_tlb_core_data(): if (smt_enabled_at_boot >= 2
|
|
smp_generic_cpu_bootable(): if (!smt_enabled_at_boot
|
if (smt_enabled_at_boot
It appears that smt_enabled_at_boot is just a duplicate of threads_per_core.
Let's drop it.
Signed-off-by: Greg Kurz <gkurz at linux.vnet.ibm.com>
---
arch/powerpc/include/asm/smp.h | 2 --
arch/powerpc/kernel/setup_64.c | 15 +--------------
arch/powerpc/kernel/smp.c | 8 +++-----
3 files changed, 4 insertions(+), 21 deletions(-)
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index 5a6614a..fae8cad 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -174,8 +174,6 @@ static inline void set_hard_smp_processor_id(int cpu, int phys)
#endif /* !CONFIG_SMP */
#endif /* !CONFIG_PPC64 */
-extern int smt_enabled_at_boot;
-
extern int smp_mpic_probe(void);
extern void smp_mpic_setup_cpu(int cpu);
extern int smp_generic_kick_cpu(int nr);
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 29c1845..ba80480 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -114,7 +114,7 @@ static void setup_tlb_core_data(void)
* or e6500 tablewalk mode, or else TLB handlers
* will be racy and could produce duplicate entries.
*/
- if (smt_enabled_at_boot >= 2 &&
+ if (threads_per_core >= 2 &&
!mmu_has_feature(MMU_FTR_USE_TLBRSRV) &&
book3e_htw_mode != PPC_HTW_E6500) {
/* Should we panic instead? */
@@ -129,18 +129,6 @@ static void setup_tlb_core_data(void)
}
#endif
-#ifdef CONFIG_SMP
-
-static void check_smt_enabled(void)
-{
- /* Default to enabling all threads */
- smt_enabled_at_boot = threads_per_core;
-}
-
-#else
-#define check_smt_enabled()
-#endif /* CONFIG_SMP */
-
/** Fix up paca fields required for the boot cpu */
static void fixup_boot_paca(void)
{
@@ -462,7 +450,6 @@ void __init setup_system(void)
xmon_setup();
smp_setup_cpu_maps();
- check_smt_enabled();
setup_tlb_core_data();
/*
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 8b2d2dc..9577791 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -80,8 +80,6 @@ struct smp_ops_t *smp_ops;
/* Can't be static due to PowerMac hackery */
volatile unsigned int cpu_callin_map[NR_CPUS];
-int smt_enabled_at_boot = 1;
-
static void (*crash_ipi_function_ptr)(struct pt_regs *) = NULL;
/*
@@ -95,10 +93,10 @@ int smp_generic_cpu_bootable(unsigned int nr)
* during boot if the user requests it.
*/
if (system_state == SYSTEM_BOOTING && cpu_has_feature(CPU_FTR_SMT)) {
- if (!smt_enabled_at_boot && cpu_thread_in_core(nr) != 0)
+ if (!threads_per_core && cpu_thread_in_core(nr) != 0)
return 0;
- if (smt_enabled_at_boot
- && cpu_thread_in_core(nr) >= smt_enabled_at_boot)
+ if (threads_per_core
+ && cpu_thread_in_core(nr) >= threads_per_core)
return 0;
}
More information about the Linuxppc-dev
mailing list