lkml.org 
[lkml]   [2009]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 01/10] Documentation
    On Thu, Mar 12, 2009 at 11:24:50AM +0100, Peter Zijlstra wrote:
    > On Wed, 2009-03-11 at 21:56 -0400, Vivek Goyal wrote:
    > > +Going back to old behavior
    > > +==========================
    > > +In new scheme of things essentially we are creating hierarchical fair
    > > +queuing logic in elevator layer and changing IO schedulers to make use of
    > > +that logic so that end IO schedulers start supporting hierarchical scheduling.
    > > +
    > > +Elevator layer continues to support the old interfaces. So even if fair queuing
    > > +is enabled at elevator layer, one can have both new hierarchical scheduler as
    > > +well as old non-hierarchical scheduler operating.
    > > +
    > > +Also noop, deadline and AS have option of enabling hierarchical scheduling.
    > > +If it is selected, fair queuing is done in hierarchical manner. If hierarchical
    > > +scheduling is disabled, noop, deadline and AS should retain their existing
    > > +behavior.
    > > +
    > > +CFQ is the only exception where one can not disable fair queuing as it is
    > > +needed for providing fairness among various threads even in non-hierarchical
    > > +mode.
    > > +
    > > +Various user visible config options
    > > +===================================
    > > +CONFIG_IOSCHED_NOOP_HIER
    > > + - Enables hierchical fair queuing in noop. Not selecting this option
    > > + leads to old behavior of noop.
    > > +
    > > +CONFIG_IOSCHED_DEADLINE_HIER
    > > + - Enables hierchical fair queuing in deadline. Not selecting this
    > > + option leads to old behavior of deadline.
    > > +
    > > +CONFIG_IOSCHED_AS_HIER
    > > + - Enables hierchical fair queuing in AS. Not selecting this option
    > > + leads to old behavior of AS.
    > > +
    > > +CONFIG_IOSCHED_CFQ_HIER
    > > + - Enables hierarchical fair queuing in CFQ. Not selecting this option
    > > + still does fair queuing among various queus but it is flat and not
    > > + hierarchical.
    >
    > One worry I have is that these are compile time switches. Is there any
    > way you can get the old AS/DEADLINE back when these are enabled but
    > you're not actively using cgroups?

    Hi Peter,

    In principle, if one is not using cgroups, there is only one io queue
    in the root group and most likely we should achieve the same behavior
    as old schedulers. Just that some extra code gets into execution at
    runtime.

    I have not got a chance yet to do some numbers but I think this path
    can be optimized enough that at run time effectively we don't see any
    significant performance penalty and behavior of schedulers is almost
    same as old ones.

    Thanks
    Vivek


    \
     
     \ /
      Last update: 2009-03-12 15:15    [W:0.025 / U:120.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site