Linux走向真正的CPU热插拔支持

Linux 3.8内核其实还没有“真正的”CPU热插拔支持,但是开发人员 已经在不断接近。今天早上, Ingo Molnar提交了关于在Linux 3.8版本中提供对x86处理器通用性支持的pull request。尽管Linux内核已经有了对CPU热挺拔的支持,然而到目前为止, 首个(启动)处理器仍然无法热挺拔。
如果此功能能在Linux 3.8上实现,启动处理器的联机/脱机将有望变得和其他x86 CPU一样。此特性首先将为Intel CPU所支持。在Linux 3.8中,该特性将由一个默认禁用的配置选项所设置。

转载请注明:Linux人社区>英文资讯翻译专版.编译

英文原文: Linux Works Towards True CPU Hotplug Support
Posted by Michael Larabel on December 11, 2012
One of the first pull requests sent in following the  the Linux 3.7 kernel release is for getting closer to "true CPU hotplug support" with the Linux 3.8 kernel.
There isn't yet "true" CPU hotplug support for Linux 3.8, but developers are getting closer. Ingo Molnar  sent in this morning the x86 generic pull request  for 3.8. While the Linux kernel has had CPU hotplugging support, up to this point you haven't been able to hotplug the first (boot) processor. 
With this pull for the Linux 3.8 kernel, it will become possible to online/offline the boot processor just like any other x86 CPUs. This feature right now will be supported first by Intel CPUs. For 3.8, this feature is behind a configuration option that is disabled by default. 
This tree enables CPU#0 (the boot processor) to be onlined/offlined on x86, just like any other CPU. Enabled on Intel CPUs for now. 

Allowing this required the identification and fixing of latent CPU#0 assumptions (such as CPU#0 initializations, etc.) in the x86 architecture code, plus the identification of barriers to BSP-offlining, such as active PIC interrupts which can only be serviced on the BSP. 

It's behind a default-off option, and there's a debug option that allows the automatic testing of this feature. 

The motivation of this feature is to allow and prepare for true CPU-hotplug hardware support: recent changes to MCE support enable us to detect a deteriorating but not yet hard-failing L1/L2 cache on a CPU that could be soft-unplugged - or a failing L3 cache on a multi-socket system. 

Note that true hardware hot-plug is not yet fully enabled by this, because that requires a special platform wakeup sequence to be sent to the freshly powered up CPU#0. Future patches for this are planned, once such a platform exists. Chicken and egg

你可能感兴趣的:(Linux走向真正的CPU热插拔支持)