[PATCH 1/6] arm64: Add asm/cpu.h
Hanjun Guo
hanjun.guo at linaro.org
Thu Dec 12 06:20:03 EST 2013
On 2013-12-12 18:36, Mark Rutland wrote:
> On Thu, Dec 12, 2013 at 06:50:27AM +0000, Hanjun Guo wrote:
[...]
>> #endif
>> diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
>> index cb548f1..5c8e69c 100644
>> --- a/arch/arm64/kernel/topology.c
>> +++ b/arch/arm64/kernel/topology.c
>> @@ -18,3 +18,29 @@ void arch_fix_phys_package_id(int num, u32 slot)
>> }
>> EXPORT_SYMBOL_GPL(arch_fix_phys_package_id);
>>
>> +#ifdef CONFIG_HOTPLUG_CPU
>> +int __ref arch_register_cpu(int cpu)
>> +{
>> + struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu);
>> +
>> + /* BSP cann't be taken down on arm */
>> + if (cpu)
>> + cpuinfo->cpu.hotpluggable = 1;
>
> _why_ does the ACPI standard prohibit hotplugging the boot CPU?
ACPI spec has not limitations to hotplug the boot CPU, it depends
on the arch.
>
> In non-ACPI systems we can hotplug out the boot CPU (we can do so under
> KVM using PSCI).
If all the things (interrupts and etc) running on CPU0 can be migrated to
other CPUs when offline a CPU, it can be hotplugable in ACPI way too.
>
> I note that the x86 arch_register_cpu allows CPU0 to be hotpluggable on
> Intel systems as long as there are no dependencies on CPU0 being
> active. Surely we can test for something more fine-grained rather than
> disallowing CPU0 hotplug outright?
Ok, will update it when I formally send this patch out.
>
> How does this interact with the existing arm64 hotplug code?
Some other patches are needed for ACPI based CPU hotplug,will send
out when the ACPI core for ARM is ready, I will cc you and then
you will know what's going on :)
Thanks
Hanjun
More information about the linux-arm-kernel
mailing list