lkml.org 
[lkml]   [2009]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC][PATCH] sched: fix GENTLE_FAIR_SLEEPERS dependency
    The newly introduced GENTLE_FAIR_SLEEPERS does not seem to have any
    effect without FAIR_SLEEPERS. Fix sysctl.sched_features to reflect
    this. Without this change, a user who sets GENTLE_FAIR_SLEEPERS
    without FAIR_SLEEPERS would assume gentle sleeper fairness which
    is not guaranteed.

    Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
    ---

    Index: linux-2.6/kernel/sched.c
    ===================================================================
    --- linux-2.6.orig/kernel/sched.c
    +++ linux-2.6/kernel/sched.c
    @@ -761,10 +761,22 @@ sched_feat_write(struct file *filp, cons
    int len = strlen(sched_feat_names[i]);

    if (strncmp(cmp, sched_feat_names[i], len) == 0) {
    - if (neg)
    + if (neg) {
    sysctl_sched_features &= ~(1UL << i);
    - else
    + /*
    + * GENTLE_FAIR_SLEEPERS have no effect without
    + * FAIR_SLEEPERS.
    + */
    + if (strncmp(cmp, "FAIR_SLEEPERS",
    + strlen("FAIR_SLEEPERS")) == 0)
    + sysctl_sched_features &= ~(1UL << i+1);
    + } else {
    sysctl_sched_features |= (1UL << i);
    + if (strncmp(cmp, "GENTLE_FAIR_SLEEPERS",
    + strlen("GENTLE_FAIR_SLEEPERS"))
    + == 0)
    + sysctl_sched_features |= (1UL << i-1);
    + }
    break;
    }
    }

    \
     
     \ /
      Last update: 2009-12-04 10:31    [W:0.023 / U:29.984 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site