[PATCH 0/3] cpu: idle state framework for offline CPUs.
svaidy at linux.vnet.ibm.com
Thu Aug 6 14:33:51 EST 2009
* Shaohua Li <shaohua.li at intel.com> [2009-08-06 09:58:55]:
> On Wed, Aug 05, 2009 at 10:25:53PM +0800, Gautham R Shenoy wrote:
> > In this patch-series, we propose to extend the CPU-Hotplug infrastructure
> > and allow the system administrator to choose the desired state the CPU should
> > go to when it is offlined. We think this approach addresses the concerns about
> > determinism as well as transparency, since CPU-Hotplug already provides
> > notification mechanism which the userspace can listen to for any change
> > in the configuration and correspondingly readjust any previously set
> > cpu-affinities.
> Peter dislikes any approach (including cpuhotplug) which breaks userspace policy,
> even userspace can get a notification.
Notification to userspace and an opportunity to react to the situation
is certainly better to manage as compared to under-the-cover reduction
We are already doing something to this effect in virtualized guests
where VCPU entitlement and assignment can be changed by the hypervisor
based on resource constraints. This framework with notification and
determinism will help manage cpu capacity better.
I agree with Peter that scheduler approach is better, but it is not
deterministic. This is simpler and cleaner alternative to keep the
complexity in userspace and provide only framework to control/notify
> > Also, approaches such as  can make use of this
> > extended infrastructure instead of putting the CPU to an arbitrary C-state
> > when it is offlined, thereby providing the system administrator a rope to hang
> > himself with should he feel the need to do so.
> I didn't see the reason why administrator needs to know which state offline cpu
> should stay. Don't know about powerpc side, but in x86 side, it appears deepest
> C-state is already preferred.
Yes that is what we would expect, but the deepest sleep state may be
restricted by BIOS or other system level parameters. This was the
main objection to Venki's deepest sleep state for offline cpus patch.
There could be higher level policy that restricts the deepest level
C-states for various reasons. This framework is to provide an
opportunity to adhere to the policy with userspace inputs. This
framework also helps to choose different states in a virtualized
More information about the Linuxppc-dev