lkml.org 
[lkml]   [2009]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] IO Controller: No need to stop idling in as
    Vivek Goyal wrote:

    > .elevator_alloc_sched_queue_fn = as_alloc_as_queue,
    > .elevator_free_sched_queue_fn = as_free_as_queue,
    > +#ifdef CONFIG_IOSCHED_AS_HIER
    > + .elevator_expire_ioq_fn = as_expire_ioq,
    > + .elevator_active_ioq_set_fn = as_active_ioq_set,
    > },
    > -
    > + .elevator_features = ELV_IOSCHED_NEED_FQ | ELV_IOSCHED_SINGLE_IOQ | ELV_IOSCHED_DONT_IDLE,

    Hi Vivek,

    I found the IO Controller doesn't work in as.
    I dig into this issue, and notice that you stop idling in as. IMHO, this will cause
    active ioq is always expired when tring to choose a new ioq to serve(elv_fq_select_ioq).
    Because idling is disabled, active ioq can't be kept anymore.
    So i just get rid of ELV_IOSCHED_DONT_IDLE, and it works fine this time.

    Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
    ---
    block/as-iosched.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/block/as-iosched.c b/block/as-iosched.c
    index 27c14a7..499c521 100644
    --- a/block/as-iosched.c
    +++ b/block/as-iosched.c
    @@ -1689,7 +1689,7 @@ static struct elevator_type iosched_as = {
    .elevator_expire_ioq_fn = as_expire_ioq,
    .elevator_active_ioq_set_fn = as_active_ioq_set,
    },
    - .elevator_features = ELV_IOSCHED_NEED_FQ | ELV_IOSCHED_SINGLE_IOQ | ELV_IOSCHED_DONT_IDLE,
    + .elevator_features = ELV_IOSCHED_NEED_FQ | ELV_IOSCHED_SINGLE_IOQ,
    #else
    },
    #endif
    --
    1.5.4.rc3



    \
     
     \ /
      Last update: 2009-03-27 08:03    [W:0.020 / U:1.396 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site