lkml.org 
[lkml]   [2011]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 8/8] cfq: Don't allow preemption across cgroups
    Date
    Previously, a sync queue in can preempt an async queue in another
    cgroup. This changes that behavior to disallow such preemption.

    Signed-off-by: Justin TerAvest <teravest@google.com>
    ---
    block/cfq-iosched.c | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
    index 23caa79..0d0189b 100644
    --- a/block/cfq-iosched.c
    +++ b/block/cfq-iosched.c
    @@ -3430,6 +3430,9 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
    if (!cfqq)
    return false;

    + if (new_cfqq->cfqg != cfqq->cfqg)
    + return false;
    +
    if (cfq_class_idle(new_cfqq))
    return false;

    @@ -3449,9 +3452,6 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
    if (rq_is_sync(rq) && !cfq_cfqq_sync(cfqq))
    return true;

    - if (new_cfqq->cfqg != cfqq->cfqg)
    - return false;
    -
    if (cfq_slice_used(cfqq))
    return true;

    --
    1.7.3.1


    \
     
     \ /
      Last update: 2011-03-30 18:55    [W:0.020 / U:0.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site