[Devel] [PATCH] IO-Controller: clear ioq wait flag if a request goes into that ioq
Gui Jianfeng
guijianfeng at cn.fujitsu.com
Wed Aug 19 18:46:10 PDT 2009
Vivek Goyal wrote:
...
> /*
> * Remember that we saw a request from this process, but
> @@ -1940,7 +2013,7 @@ void elv_ioq_request_add(struct request_queue *q, struct request *rq)
> * has other work pending, don't risk delaying until the
> * idle timer unplug to continue working.
> */
> - if (elv_ioq_wait_request(ioq)) {
> + if (group_wait || elv_ioq_wait_request(ioq)) {
Hi Vivek,
I guess we need to clear ioq_wait_request flags if there are requests to
go in this ioq. Otherwise, once waitting request on ioq, it will go into
this path every time when a request is enqueued.
Signed-off-by: Gui Jianfeng <guijianfeng at cn.fujitsu.com>
---
block/elevator-fq.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/block/elevator-fq.c b/block/elevator-fq.c
index b3c387d..201543e 100644
--- a/block/elevator-fq.c
+++ b/block/elevator-fq.c
@@ -2708,6 +2708,9 @@ void elv_ioq_request_add(struct request_queue *q, struct request *rq)
__blk_run_queue(q);
else
elv_mark_ioq_must_dispatch(ioq);
+
+ if (elv_ioq_wait_request(ioq))
+ elv_clear_ioq_wait_request(ioq);
}
} else if (elv_should_preempt(q, ioq, rq)) {
/*
--
1.5.4.rc3
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list