From: Vivek Goyal <vgoyal@in.ibm.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andrew Morton <akpm@osdl.org>,
fastboot@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] i386 mpparse: Only ignore lapic information we can't store
Date: Tue, 25 Oct 2005 15:12:41 +0530 [thread overview]
Message-ID: <20051025094241.GE4426@in.ibm.com> (raw)
In-Reply-To: <m1irvmca2r.fsf_-_@ebiederm.dsl.xmission.com>
On Tue, Oct 25, 2005 at 01:47:08AM -0600, Eric W. Biederman wrote:
>
> After staring at mpparse.c for a little longer I noticed that
> when we hit our limit of num_processors we are filtering out
> information about other processors that we can still store.
>
> This patch just reorders the code so we store everything we
> can.
>
> This should avoid the incorrect warning about our boot CPU
> not being listed by the BIOS that we are now getting in
> the kexec on panic case, and it should allow us to detect
> all apicid conflicts even when our physical number of
> cpus exceeds maxcpus.
>
> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
>
>
I justed tested the patch. It looks good. BIOS not reporting CPU message
is gone.
Thanks
Vivek
> ---
>
> arch/i386/kernel/mpparse.c | 35 +++++++++++++++++++----------------
> 1 files changed, 19 insertions(+), 16 deletions(-)
>
> applies-to: cf16f96fe9347e42dd2fc6b305005a52783195d4
> 192f11c9442be11c6535b38d371aa3771fd9513e
> diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c
> index 27aabfc..07555a4 100644
> --- a/arch/i386/kernel/mpparse.c
> +++ b/arch/i386/kernel/mpparse.c
> @@ -182,17 +182,6 @@ static void __init MP_processor_info (st
> boot_cpu_physical_apicid = m->mpc_apicid;
> }
>
> - if (num_processors >= NR_CPUS) {
> - printk(KERN_WARNING "WARNING: NR_CPUS limit of %i reached."
> - " Processor ignored.\n", NR_CPUS);
> - return;
> - }
> -
> - if (num_processors >= maxcpus) {
> - printk(KERN_WARNING "WARNING: maxcpus limit of %i reached."
> - " Processor ignored.\n", maxcpus);
> - return;
> - }
> ver = m->mpc_apicver;
>
> if (!MP_valid_apicid(apicid, ver)) {
> @@ -201,11 +190,6 @@ static void __init MP_processor_info (st
> return;
> }
>
> - cpu_set(num_processors, cpu_possible_map);
> - num_processors++;
> - phys_cpu = apicid_to_cpu_present(apicid);
> - physids_or(phys_cpu_present_map, phys_cpu_present_map, phys_cpu);
> -
> /*
> * Validate version
> */
> @@ -216,6 +200,25 @@ static void __init MP_processor_info (st
> ver = 0x10;
> }
> apic_version[m->mpc_apicid] = ver;
> +
> + phys_cpu = apicid_to_cpu_present(apicid);
> + physids_or(phys_cpu_present_map, phys_cpu_present_map, phys_cpu);
> +
> + if (num_processors >= NR_CPUS) {
> + printk(KERN_WARNING "WARNING: NR_CPUS limit of %i reached."
> + " Processor ignored.\n", NR_CPUS);
> + return;
> + }
> +
> + if (num_processors >= maxcpus) {
> + printk(KERN_WARNING "WARNING: maxcpus limit of %i reached."
> + " Processor ignored.\n", maxcpus);
> + return;
> + }
> +
> + cpu_set(num_processors, cpu_possible_map);
> + num_processors++;
> +
> if ((num_processors > 8) &&
> APIC_XAPIC(ver) &&
> (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL))
prev parent reply other threads:[~2005-10-25 9:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-04 15:04 [PATCH] i386: move apic init in init_IRQs Eric W. Biederman
2005-10-04 15:34 ` Maciej W. Rozycki
2005-10-04 15:48 ` Eric W. Biederman
2005-10-04 17:16 ` Maciej W. Rozycki
2005-10-05 18:30 ` [PATCH] i386 apic: Fix mispelling of APIC Eric W. Biederman
2005-10-21 13:33 ` [Fastboot] [PATCH] i386: move apic init in init_IRQs Vivek Goyal
2005-10-21 14:45 ` Eric W. Biederman
2005-10-21 16:53 ` Albert Herranz
2005-10-21 18:01 ` Eric W. Biederman
2005-10-22 14:52 ` Vivek Goyal
2005-10-22 15:23 ` Eric W. Biederman
2005-10-24 13:03 ` Vivek Goyal
2005-10-24 15:36 ` Eric W. Biederman
2005-10-25 7:17 ` Eric W. Biederman
2005-10-25 7:47 ` [PATCH] i386 mpparse: Only ignore lapic information we can't store Eric W. Biederman
2005-10-25 9:42 ` Vivek Goyal [this message]
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=20051025094241.GE4426@in.ibm.com \
--to=vgoyal@in.ibm.com \
--cc=akpm@osdl.org \
--cc=ebiederm@xmission.com \
--cc=fastboot@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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: link
Be 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