Messages in this thread Patch in this message | | | Date | Fri, 27 Mar 2009 14:58:34 +0800 | From | Gui Jianfeng <> | 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
| |