lkml.org 
[lkml]   [2008]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/4] sched: fix wakeup preemption
    Peter Zijlstra wrote:

    > In my recent wakeup preempt rework I messed up the asym wakeup.
    > The idea is that it should be easier to preempt lighter tasks
    > but not harder to preempt heavier tasks.

    > Index: linux-2.6/kernel/sched_fair.c
    > ===================================================================
    > --- linux-2.6.orig/kernel/sched_fair.c
    > +++ linux-2.6/kernel/sched_fair.c
    > @@ -1243,8 +1243,8 @@ static unsigned long wakeup_gran(struct
    > * More easily preempt - nice tasks, while not making it harder for
    > * + nice tasks.
    > */
    > - if (sched_feat(ASYM_GRAN))
    > - gran = calc_delta_mine(gran, NICE_0_LOAD, &se->load);
    > + if (sched_feat(ASYM_GRAN) && se->load.weight < NICE_0_LOAD)
    > + gran = (gran * se->load.weight) >> NICE_0_SHIFT;
    >
    > return gran;
    > }

    Setting aside whether the asym wakeup is desirable, the code looks
    reasonable but I think you need to change the code comments as well.

    The proposed code only affects with a weight of less than NICE_0_LOAD,
    ie. +nice tasks. The comment suggests the opposite.

    Chris


    \
     
     \ /
      Last update: 2008-10-20 23:59    [W:0.019 / U:152.924 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site