CPU hotplug - Problem Statement and Scope. Problem Statement: The ability to add and remove a CPU while the system is up and running is extremely useful for several reasons. It is an important feature for data centers and high-end system because it provides RAS support (reliability, availability, servicability) by allowing replacement of failing CPUs without any down time. CPU hotplug also allows for dynamic partitionning where a CPU can be moved from one partition to the other as the need occurs. Also to accomodate customers' growth predictions while avoiding the upfront cost the use of CPU hotplug in Instant Capacity on Demand is very valued. Last but not least the growing area of virtualization were the hardware resources are distributed amoungst several virtual machines make heavy use of hotplugging. While the core of the code implementing support for CPU hotplug has been written and submitted into mainline many edge cases remain to be addressed. Also thorough regression and integration testing need to be done and up-to-date documentation from a developer and user point-of-view needs to be written. Scope: The scope of this project is to evaluate the stability and effectiveness of CPU hotplug as it applies in various situations such as 1) support for Reliability/Availability by providing a mechanism to replace defective CPUs, 2) support for dynamic partitionning by allowing transfer of a physical system resource from partition to another partition in order to accomodate work loads 3) support for logical CPU add and remove to address the need for more or less computing power of virtual machines (virtualization applications), 4) support for Instant Capacity on Demand to allow for CPUs physically present in a system to be onlined as demand for more computing power increases. All types of CPU architectures are considered and will be addressed (resources permitting) both in the development as well as the testing efforts. The scope of the testing effort for CPU hotplug will include regression and performance testing since many changes to code that might seem unrelated to CPU hotplug might still affect its speed and effectiveness of execution. Integration testing will also be included in the testing in terms of verifying the stability of the CPU hotplug code when run with other new kernel features and RAS components and of course with user-land performance tools. This effort will be most beneficial to enterprise like systems whose strict requirements for availability, uptime and fault isolation are clearly addressed by this capacity. While a lot of efforts will concentrate around the development in the kernel code, we will also address the management specific issues related to the specific issues of CPU hotplug.