[lkml]   [2006]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC][PATCH 5/9] CPU controller - Documents how the controller works
    On Fri, 2006-04-21 at 11:27 +0900, wrote:
    > +3. Timeslice scaling
    > +
    > + If there are hungry classes, we need to adjust timeslices to satisfy
    > + the share. To scale timeslices, we introduce a scaling factor
    > + used for scaling timeslices. The scaling factor is associated with
    > + the class (stored in the cpu_rc structure) and adaptively adjusted
    > + according to the class load and the share.

    This all works fine until interactive task requeueing is considered, and
    it must be considered.

    One simple way to address the requeue problem is to introduce a scaled
    class sleep_avg consumption factor. Remove the scaling exemption for
    TASK_INTERACTIVE(p), and if a class's cpu usage doesn't drop to what is
    expected by group timeslice scaling, make members consume sleep_avg at a
    higher rate such that scaling can take effect.

    A better way to achieve the desired group cpu usage IMHO would be to
    adjust nice level of members at slice refresh time. This way, you get
    the timeslice scaling and priority adjustment all in one.

    (I think I would do both actually, with nice level being preferred such
    that dynamic priority spread within the group isn't flattened, which can
    cause terminal starvation within the group, unless really required.)


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-04-23 09:15    [W:0.022 / U:26.084 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site