lkml.org 
[lkml]   [2007]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 2/3] Deadline iosched: Reset batch for ordered requests
    The deadline I/O scheduler does not reset the batch count when starting
    a new batch at a higher-sectored request. This means the second and
    subsequent batch in the same data direction will never exceed a single
    request in size whenever higher-sectored requests are pending.

    This patch gives new batches in the same data direction as old ones
    their full quota of requests by resetting the batch count.

    Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
    ---
    block/deadline-iosched.c | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c
    index a44437e..cb94c83 100644
    --- a/block/deadline-iosched.c
    +++ b/block/deadline-iosched.c
    @@ -306,12 +306,11 @@ dispatch_writes:
    dispatch_find_request:
    /*
    * we are not running a batch, find best request for selected data_dir
    + * and start a new batch
    */
    if (deadline_check_fifo(dd, data_dir)) {
    /* An expired request exists - satisfy it */
    - dd->batching = 0;
    rq = rq_entry_fifo(dd->fifo_list[data_dir].next);
    -
    } else if (dd->next_rq[data_dir]) {
    /*
    * The last req was the same dir and we have a next request in
    @@ -325,12 +324,13 @@ dispatch_find_request:
    * higher-sectored requests. Go back to the lowest sectored
    * request (1 way elevator) and start a new batch.
    */
    - dd->batching = 0;
    node = rb_first(&dd->sort_list[data_dir]);
    if (node)
    rq = rb_entry_rq(node);
    }

    + dd->batching = 0;
    +
    dispatch_request:
    /*
    * rq is the selected appropriate request.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-10-30 05:17    [W:0.023 / U:1.660 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site