lkml.org 
[lkml]   [2017]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[RFC][PATCH 00/14] sched/fair: A bit of a cgroup/PELT overhaul (again)..

    Hi all,

    So after staring at all that PELT stuff and working my way through it again:

    https://lkml.kernel.org/r/20170505154117.6zldxuki2fgyo53n@hirez.programming.kicks-ass.net

    I started doing some patches to fix some of the identified broken.

    So here are a few too many patches that do:

    - fix 'reweight_entity' to instantly propagate the change in se->load.weight.

    - rewrite/fix the propagate on migrate (attach/detach)

    - introduce the hierarchical runnable_load_avg, as proposed by Tejun.

    - synchronous detach for runnable migrates

    - aligns the PELT windows between a cfs_rq and all its se's

    - deals with random fallout from the above (some of this needs folding back
    and reordering, but its all well past the point I should post this anyway).


    IIRC pjt recently mentioned the reweight_entity thing, and I have very vague
    memories he once talked about the window alignment thing -- which I only
    remembered after (very painfully) having discovered I really needed that.

    In any case, the reason I did the reweight_entity thing first, is because I
    feel that is the right place to also propagate the hierarchical runnable_load,
    as that is the natural place where a group's cfs_rq is coupled to its
    sched_entity.

    And the hierachical runnable_load needs that coupling. TJ did it by hijacking
    the attach/detach migrate code, which I didn't much like. In any case, all
    that got me looking at said attach/detach migrate code and find pain. So I went
    and fixed that too.


    Much thanks to Vincent and Dietmar for poking at early versions and reporting
    failure and comments.

    This still hasn't had a lot of testing, but its not obviously insane anymore
    for the few tests we did do on it. Thread carefully though, a lot of code changed.


    This can also be found here:

    git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/experimental


    (my git tree is unsable and gets rebased a _lot_)

    ---
    include/linux/sched.h | 3
    kernel/sched/debug.c | 18 -
    kernel/sched/fair.c | 811 +++++++++++++++++++++++++++++++-------------------
    kernel/sched/sched.h | 19 -
    4 files changed, 547 insertions(+), 304 deletions(-)


    \
     
     \ /
      Last update: 2017-05-12 19:29    [W:5.344 / U:0.404 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site