LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: travis@sgi.com To: Andrew Morton <akpm@linux-foundation.org>, Andi Kleen <ak@suse.de>, mingo@elte.hu Cc: Eric Dumazet <dada1@cosmosbay.com>, Christoph Lameter <clameter@sgi.com>, Jack Steiner <steiner@sgi.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/10] x86: Cleanup x86_cpu_to_apicid references V3 Date: Wed, 16 Jan 2008 09:09:09 -0800 [thread overview] Message-ID: <20080116170902.984066000@sgi.com> (raw) In-Reply-To: 20080116170902.006151000@sgi.com [-- Attachment #1: cleanup-x86_cpu_to_apicid --] [-- Type: text/plain, Size: 5222 bytes --] Clean up references to x86_cpu_to_apicid. Removes extraneous comments and standardizes on "x86_*_early_ptr" for the early kernel init references. Signed-off-by: Mike Travis <travis@sgi.com> Reviewed-by: Christoph Lameter <clameter@sgi.com> --- V1->V2: - Removed extraneous casts --- arch/x86/kernel/genapic_64.c | 11 ++--------- arch/x86/kernel/mpparse_64.c | 14 +++++--------- arch/x86/kernel/setup_64.c | 2 +- arch/x86/kernel/smpboot_32.c | 9 ++------- arch/x86/kernel/smpboot_64.c | 16 +++++++++------- include/asm-x86/smp_32.h | 2 +- include/asm-x86/smp_64.h | 2 +- 7 files changed, 21 insertions(+), 35 deletions(-) --- a/arch/x86/kernel/genapic_64.c +++ b/arch/x86/kernel/genapic_64.c @@ -24,17 +24,10 @@ #include <acpi/acpi_bus.h> #endif -/* - * which logical CPU number maps to which CPU (physical APIC ID) - * - * The following static array is used during kernel startup - * and the x86_cpu_to_apicid_ptr contains the address of the - * array during this time. Is it zeroed when the per_cpu - * data area is removed. - */ +/* which logical CPU number maps to which CPU (physical APIC ID) */ u16 x86_cpu_to_apicid_init[NR_CPUS] __initdata = { [0 ... NR_CPUS-1] = BAD_APICID }; -void *x86_cpu_to_apicid_ptr; +void *x86_cpu_to_apicid_early_ptr; DEFINE_PER_CPU(u16, x86_cpu_to_apicid) = BAD_APICID; EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); --- a/arch/x86/kernel/mpparse_64.c +++ b/arch/x86/kernel/mpparse_64.c @@ -125,15 +125,11 @@ static void __cpuinit MP_processor_info( cpu = 0; } bios_cpu_apicid[cpu] = m->mpc_apicid; - /* - * We get called early in the the start_kernel initialization - * process when the per_cpu data area is not yet setup, so we - * use a static array that is removed after the per_cpu data - * area is created. - */ - if (x86_cpu_to_apicid_ptr) { - u16 *x86_cpu_to_apicid = x86_cpu_to_apicid_ptr; - x86_cpu_to_apicid[cpu] = m->mpc_apicid; + /* are we being called early in kernel startup? */ + if (x86_cpu_to_apicid_early_ptr) { + u16 *cpu_to_apicid = x86_cpu_to_apicid_early_ptr; + + cpu_to_apicid[cpu] = m->mpc_apicid; } else { per_cpu(x86_cpu_to_apicid, cpu) = m->mpc_apicid; } --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c @@ -373,7 +373,7 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_SMP /* setup to use the static apicid table during kernel startup */ - x86_cpu_to_apicid_ptr = (void *)&x86_cpu_to_apicid_init; + x86_cpu_to_apicid_early_ptr = (void *)&x86_cpu_to_apicid_init; #endif #ifdef CONFIG_ACPI --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c @@ -91,15 +91,10 @@ static cpumask_t smp_commenced_mask; DEFINE_PER_CPU_SHARED_ALIGNED(struct cpuinfo_x86, cpu_info); EXPORT_PER_CPU_SYMBOL(cpu_info); -/* - * The following static array is used during kernel startup - * and the x86_cpu_to_apicid_ptr contains the address of the - * array during this time. Is it zeroed when the per_cpu - * data area is removed. - */ +/* which logical CPU number maps to which CPU (physical APIC ID) */ u8 x86_cpu_to_apicid_init[NR_CPUS] __initdata = { [0 ... NR_CPUS-1] = BAD_APICID }; -void *x86_cpu_to_apicid_ptr; +void *x86_cpu_to_apicid_early_ptr; DEFINE_PER_CPU(u8, x86_cpu_to_apicid) = BAD_APICID; EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid); --- a/arch/x86/kernel/smpboot_64.c +++ b/arch/x86/kernel/smpboot_64.c @@ -852,23 +852,25 @@ static int __init smp_sanity_check(unsig } /* - * Copy apicid's found by MP_processor_info from initial array to the per cpu - * data area. The x86_cpu_to_apicid_init array is then expendable and the - * x86_cpu_to_apicid_ptr is zeroed indicating that the static array is no - * longer available. + * Copy data used in early init routines from the initial arrays to the + * per cpu data areas. These arrays then become expendable and the + * *_ptrs are zeroed indicating that the static arrays are gone. */ void __init smp_set_apicids(void) { int cpu; - for_each_cpu_mask(cpu, cpu_possible_map) { + for_each_possible_cpu(cpu) { if (per_cpu_offset(cpu)) per_cpu(x86_cpu_to_apicid, cpu) = x86_cpu_to_apicid_init[cpu]; + else + printk(KERN_NOTICE "per_cpu_offset zero for cpu %d\n", + cpu); } - /* indicate the static array will be going away soon */ - x86_cpu_to_apicid_ptr = NULL; + /* indicate the early static arrays are gone */ + x86_cpu_to_apicid_early_ptr = NULL; } static void __init smp_cpu_index_default(void) --- a/include/asm-x86/smp_32.h +++ b/include/asm-x86/smp_32.h @@ -30,7 +30,7 @@ extern void (*mtrr_hook) (void); extern void zap_low_mappings (void); extern u8 __initdata x86_cpu_to_apicid_init[]; -extern void *x86_cpu_to_apicid_ptr; +extern void *x86_cpu_to_apicid_early_ptr; DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); DECLARE_PER_CPU(cpumask_t, cpu_core_map); --- a/include/asm-x86/smp_64.h +++ b/include/asm-x86/smp_64.h @@ -27,7 +27,7 @@ extern int smp_call_function_mask(cpumas void *info, int wait); extern u16 __initdata x86_cpu_to_apicid_init[]; -extern void *x86_cpu_to_apicid_ptr; +extern void *x86_cpu_to_apicid_early_ptr; extern u16 bios_cpu_apicid[]; DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); --
next prev parent reply other threads:[~2008-01-16 17:10 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-01-16 17:09 [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3 travis 2008-01-16 17:09 ` [PATCH 01/10] x86: Change size of APICIDs from u8 to u16 V3 travis 2008-01-16 17:09 ` [PATCH 02/10] x86: Change size of node ids " travis 2008-01-16 17:53 ` Eric Dumazet 2008-01-16 18:10 ` Mike Travis 2008-01-16 19:16 ` Mike Travis 2008-01-16 20:37 ` Eric Dumazet 2008-01-16 17:09 ` [PATCH 03/10] x86: Change NR_CPUS arrays in powernow-k8 V3 travis 2008-01-16 17:09 ` [PATCH 04/10] x86: Change NR_CPUS arrays in intel_cacheinfo V3 travis 2008-01-16 17:09 ` [PATCH 05/10] x86: Change NR_CPUS arrays in smpboot_64 V3 travis 2008-01-16 17:09 ` [PATCH 06/10] x86: Change NR_CPUS arrays in topology V3 travis 2008-01-16 17:09 ` travis [this message] 2008-01-16 17:09 ` [PATCH 08/10] x86: Change NR_CPUS arrays in numa_64 V3 travis 2008-01-16 17:09 ` [PATCH 09/10] x86: Change NR_CPUS arrays in acpi-cpufreq V3 travis 2008-01-16 17:09 ` [PATCH 10/10] x86: Change bios_cpu_apicid to percpu data variable V3 travis 2008-01-16 18:01 ` [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3 Frans Pop 2008-01-16 18:14 ` Mike Travis
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080116170902.984066000@sgi.com \ --to=travis@sgi.com \ --cc=ak@suse.de \ --cc=akpm@linux-foundation.org \ --cc=clameter@sgi.com \ --cc=dada1@cosmosbay.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mingo@elte.hu \ --cc=steiner@sgi.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).