lkml.org 
[lkml]   [2009]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] cpu: idle state framework for offline CPUs.
    * Dipankar Sarma <dipankar@in.ibm.com> [2009-08-16 23:56:29]:

    > On Fri, Aug 14, 2009 at 01:30:21PM +0200, Pavel Machek wrote:
    > > >
    > > > It depends on the hypervisor implementation. On pseries (powerpc)
    > > > hypervisor, for example, they are different. By offlining a vcpu
    > > > (and in turn shutting a cpu), you will actually create a configuration
    > > > change in the VM that is visible to other systems management tools
    > > > which may not be what the system administrator wanted. Ideally,
    > > > we would like to distinguish between these two states.
    > > >
    > > > Hope that suffices as an example.
    > >
    > > So... you have something like "physically pulling out hotplug cpu" on
    > > powerpc.
    >
    > If any system can do physical unplug, then it should do "offline"
    > with configuration changes reflected in the hypervisor and
    > other system configuration software.
    >
    > > But maybe it is useful to take already offline cpus (from linux side),
    > > and make that visible to hypervisor, too.
    > >
    > > So maybe something like "echo 1 > /sys/devices/system/cpu/cpu1/unplug"
    > > would be more useful for hypervisor case?
    >
    > On pseries, we do an RTAS call ("stop-cpu") which effectively permantently
    > de-allocates it from the VM hands over the control to hypervisor. The
    > hypervisors may do whatever it wants including allocating it to
    > another VM. Once gone, the original VM may not get it back depending
    > on the situation.
    >
    > The point I am making is that we may not always want to *release*
    > the CPU to hypervisor and induce a configuration change. That needs
    > to be reflected by extending the existing user interface - hence
    > the proposal for - /sys/devices/system/cpu/cpu<#>/state and
    > /sys/devices/system/cpu/cpu<#>/available_states. It allows
    > ceding to hypervisor without de-allocating. It is a minor
    > extension of the existing interface keeping backwards compatibility
    > and platforms can allow what make sense.
    >


    Agreed, I've tried to come with a little ASCII art to depict your
    scenairos graphically


    +--------+ don't need (offline)
    | OS +----------->+------------+
    +--+-----+ | hypervisor +-----> Reuse CPU
    | | | for something
    | | | else
    | | | (visible to users)
    | | | as resource changed
    | +----------- +
    V (needed, but can cede)
    +------------+
    | hypervisor | Don't reuse CPU
    | | (CPU ceded)
    | | give back to OS
    +------------+ when needed.
    (Not visible to
    users as so resource
    binding changed)



    --
    Balbir


    \
     
     \ /
      Last update: 2009-08-16 21:47    [W:0.040 / U:0.128 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site