lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 11 Dec 2008 21:21:23 -0800 From: Greg KH <gregkh@...e.de> To: linux-kernel@...r.kernel.org, stable@...nel.org, Theodore Ts'o <tytso@....edu>, Zwane Mwaikambo <zwane@....linux.org.uk>, Eugene Teo <eteo@...hat.com>, Justin Forbes <jmforbes@...uxtx.org>, Domenico Andreoli <cavokz@...il.com>, Chris Wedgwood <reviews@...cw.f00f.org>, Jake Edge <jake@....net>, Randy Dunlap <rdunlap@...otime.net>, Michael Krufky <mkrufky@...uxtv.org>, alan@...rguk.ukuu.org.uk, Chuck Ebbert <cebbert@...hat.com>, Dave Jones <davej@...hat.com>, Chuck Wolber <chuckw@...ntumlinux.com>, akpm@...ux-foundation.org, torvalds@...ux-foundation.org, Willy Tarreau <w@....eu>, Rodrigo Rubira Branco <rbranco@...checkpoint.com>, Milton Miller <miltonm@....com> Subject: [patch 84/83] powerpc: Use cpu_thread_in_core in smp_init for of_spin_map From: Milton Miller <miltonm@....com> commit 6a75a6b8e85e92cc774d42a4e113c76c30b5a539 upstream. We used to assume that even numbered threads were the primary threads, ie those that would be listed and started as a cpu from open firmware. Replace a left over is even (% 2) check with a check for it being a primary thread and update the comments. Tested with a debug print on pseries, identical code found for cell. Signed-off-by: Milton Miller <miltonm@....com> Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de> --- arch/powerpc/platforms/cell/smp.c | 10 +++------- arch/powerpc/platforms/pseries/smp.c | 13 ++++--------- 2 files changed, 7 insertions(+), 16 deletions(-) --- a/arch/powerpc/platforms/cell/smp.c +++ b/arch/powerpc/platforms/cell/smp.c @@ -54,8 +54,8 @@ #endif /* - * The primary thread of each non-boot processor is recorded here before - * smp init. + * The Primary thread of each non-boot processor was started from the OF client + * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. */ static cpumask_t of_spin_map; @@ -208,11 +208,7 @@ void __init smp_init_cell(void) /* Mark threads which are still spinning in hold loops. */ if (cpu_has_feature(CPU_FTR_SMT)) { for_each_present_cpu(i) { - if (i % 2 == 0) - /* - * Even-numbered logical cpus correspond to - * primary threads. - */ + if (cpu_thread_in_core(i) == 0) cpu_set(i, of_spin_map); } } else { --- a/arch/powerpc/platforms/pseries/smp.c +++ b/arch/powerpc/platforms/pseries/smp.c @@ -52,8 +52,8 @@ /* - * The primary thread of each non-boot processor is recorded here before - * smp init. + * The Primary thread of each non-boot processor was started from the OF client + * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. */ static cpumask_t of_spin_map; @@ -191,8 +191,7 @@ static void __devinit smp_pSeries_kick_c static int smp_pSeries_cpu_bootable(unsigned int nr) { /* Special case - we inhibit secondary thread startup - * during boot if the user requests it. Odd-numbered - * cpus are assumed to be secondary threads. + * during boot if the user requests it. */ if (system_state < SYSTEM_RUNNING && cpu_has_feature(CPU_FTR_SMT) && @@ -229,11 +228,7 @@ static void __init smp_init_pseries(void /* Mark threads which are still spinning in hold loops. */ if (cpu_has_feature(CPU_FTR_SMT)) { for_each_present_cpu(i) { - if (i % 2 == 0) - /* - * Even-numbered logical cpus correspond to - * primary threads. - */ + if (cpu_thread_in_core(i) == 0) cpu_set(i, of_spin_map); } } else { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists