All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ashok Raj <ashok.raj@intel.com>
To: Andi Kleen <ak@suse.de>
Cc: Ashok Raj <ashok.raj@intel.com>,
	akpm@osdl.org, linux-kernel@vger.kernel.org, ak@muc.de,
	ronald@hummelink.net, DiegoCG@teleline.es,
	venkatesh.pallipadi@intel.com, anil.s.keshavamurthy@intel.com
Subject: Re: Dont record local apic ids when they are disabled in MADT
Date: Thu, 26 Jan 2006 08:13:32 -0800	[thread overview]
Message-ID: <20060126081332.A13445@unix-os.sc.intel.com> (raw)
In-Reply-To: <200601261534.55620.ak@suse.de>; from ak@suse.de on Thu, Jan 26, 2006 at 03:34:54PM +0100

On Thu, Jan 26, 2006 at 03:34:54PM +0100, Andi Kleen wrote:
> 
> How? All the code who could do this is __init.

Where? all code that handles cpu hotplug is located in 
drivers/acpi/processor_core.c under #ifdef CONFIG_ACPI_HOTPLUG_CPU handles 
this.

Just to clarify when we say hotplug cpu support in kernel, today it means
logical cpu hotplug. I hope when physical hotplug is supported that 
platform will have supporting ACPI based or some equivalent implementation.

> 
> > (although i would say we tested this only on ia64 so far, the code is 
> > generic to x86_64 as well, but i havent gone around testing physical hotplug
> > via emulation patches we have internally)
> 
> I doubt it will work on x86-64.

In x86_64, we need to implement one mapping function acpi_map_lsapic()
defined in arch/i386/kernel/acpi/boot.c. Today this is only a stub
function. Its fully implemented for ia64. (As i mentioned this is 
untested yet, and needs some more code and test)

acpi_processor_hotadd_init() in processor_core.c also does arch_register_cpu()
to create appropriate sysfs entries in /sys/devices/system/cpu/cpuX

When a platform supports hotplug, the BIOS should support appropriate ACPI
methods, or some equilvalent to do similar things.
> 
> And you're breaking the CPU hotplug spec in Documentation/x86-64/cpu-hotplug-spec.
> I think the BIOS bugs need to be workarounded without breaking that.

ACPI spec states that if an entry is marked disabled, then dont use it at all.
We could use that to count the number of disabled CPUs in the system, which is 
an acceptable deviation from the real intent, but i dont think we can ask the 
BIOS to also have valid apic ids in them (especially platforms already 
released) 

Forcing even existing BIOSs to change wouldnt be nice.

Alternately you can add the counting of disabled CPUs logic only when 
CONFIG_ACPI_HOTPLUG_CPU is enabled, so it doesnt hurt existing platforms.

-- 
Cheers,
Ashok Raj
- Open Source Technology Center

      reply	other threads:[~2006-01-26 16:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-26 13:48 Dont record local apic ids when they are disabled in MADT Ashok Raj
2006-01-26 13:55 ` Andi Kleen
2006-01-26 14:10   ` Ashok Raj
2006-01-26 14:34     ` Andi Kleen
2006-01-26 16:13       ` Ashok Raj [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=20060126081332.A13445@unix-os.sc.intel.com \
    --to=ashok.raj@intel.com \
    --cc=DiegoCG@teleline.es \
    --cc=ak@muc.de \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ronald@hummelink.net \
    --cc=venkatesh.pallipadi@intel.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.