ACPI processor hotplug: Split up acpi_processor_add
authorThomas Renninger <trenn@suse.de>
Thu, 19 Jan 2012 17:18:42 +0000 (18:18 +0100)
committerLen Brown <len.brown@intel.com>
Fri, 20 Jan 2012 02:24:34 +0000 (21:24 -0500)
commit54d5dcc45af7adbb907072d042bbece4c2b4de6e
treea76ad45025545902b48aa6b58da630d7c87681a4
parentdcd6c92267155e70a94b3927bce681ce74b80d1f
ACPI processor hotplug: Split up acpi_processor_add

No functional change.

This is needed because:
When a CPU gets hotplugged, it's totally uninitialized
and offline. cpuinfo_x86 struct (cpu_data(cpu)) is mostly
zero (CPU feature flags, model, family,..).

When a CPU gets hotplugged, struct processor is alloc'd,
some sysfs files are set up but acpi_processor_add()
must not try to access a MSR on this CPU or try to read
out CPU feature,family, etc.

This must be done in acpi_processor_start().
The next patch will delay the call of acpi_processor_start()
for physically hotpluggedcores, to the time when they are onlined
the first time. There it is safe then to access cpu_data(cpu)
cpuinfo_x86 struct or access MSRs which is needed to
set up cpuidle, throttling and other features.

Tested and
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/processor_driver.c