lkml.org 
[lkml]   [2009]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 19/20] blkio: Arm slice timer even if there are requests in driver
    Date
    o To ensure fairness for a group, we need to make sure at the time of expiry
    queue is backlogged and does not get deleted from the service tree. That
    means for sequential workload, wait for next request before expiry.

    o Sometimes we dispatch a request from a queue and we do not wait busy on the
    queue because arm_slice_timer() does not arm slice idle timer because it
    thinks there are requests in driver. Further down in select_cfq_queue()
    we expire the cfqq because time slice expired and queue looses its share
    (vtime jump). Hence idle timer even if there are requests in the driver.

    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    ---
    block/cfq-iosched.c | 6 ------
    1 files changed, 0 insertions(+), 6 deletions(-)

    diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
    index 963659a..d609a10 100644
    --- a/block/cfq-iosched.c
    +++ b/block/cfq-iosched.c
    @@ -1690,12 +1690,6 @@ static bool cfq_arm_slice_timer(struct cfq_data *cfqd, int reset)
    return false;

    /*
    - * still requests with the driver, don't idle
    - */
    - if (rq_in_driver(cfqd))
    - return false;
    -
    - /*
    * task has exited, don't wait
    */
    cic = cfqd->active_cic;
    --
    1.6.2.5


    \
     
     \ /
      Last update: 2009-11-04 00:49    [W:0.021 / U:0.472 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site