From: Vivek Goyal <vgoyal@redhat.com>
To: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Cc: Jens Axboe <axboe@kernel.dk>, Shaohua Li <shaohua.li@intel.com>,
lkml <linux-kernel@vger.kernel.org>,
Chad Talbott <ctalbott@google.com>,
Divyesh Shah <dpshah@google.com>
Subject: Re: [PATCH 3/6 v4] cfq-iosched: Introduce vdisktime and io weight for CFQ queue
Date: Thu, 10 Feb 2011 14:29:41 -0500 [thread overview]
Message-ID: <20110210192940.GA2600@redhat.com> (raw)
In-Reply-To: <4D539804.9090308@cn.fujitsu.com>
On Thu, Feb 10, 2011 at 03:47:16PM +0800, Gui Jianfeng wrote:
> Introduce vdisktime and io weight for CFQ queue scheduling. Currently, io priority
> maps to a range [100,1000]. It also gets rid of cfq_slice_offset() logic and makes
> use the same scheduling algorithm as CFQ group does. This helps for CFQ queue and
> group scheduling on the same service tree.
>
> Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
> ---
> block/cfq-iosched.c | 219 +++++++++++++++++++++++++++++++++++++++------------
> 1 files changed, 167 insertions(+), 52 deletions(-)
>
> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
> index f3a126e..41cef2e 100644
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -39,6 +39,13 @@ static const int cfq_hist_divisor = 4;
> */
> #define CFQ_IDLE_DELAY (HZ / 5)
>
> +/*
> + * The base boosting value.
> + */
> +#define CFQ_BOOST_SYNC_BASE (HZ / 10)
> +#define CFQ_BOOST_ASYNC_BASE (HZ / 25)
> +
These are same as cfq_slice_sync and cfq_slice_async. Looking at
boost logic, this is equivalent of starting a new queue/group as
if it is being requeued after conuming a full slice. So may be we can divide
it by some const number say 4 or something like that. This is a minor
point though as this algorimthm will kind of evolve and we will learn
what works best.
Secondly, I think you wanted to SYNC vs ASYNC logic seem to be reversed.
We would like to give ASYNC queues higher boost (Put these farther in
tree) and lesser boost to SYNC queues. Looks like above constants will
do the reverse?
[..]
> + if (RB_EMPTY_NODE(&cfqe->rb_node)) {
> + /*
> + * If this CFQ queue moves to another group, the original
> + * vdisktime makes no sense any more, reset the vdisktime
> + * here.
> + */
> + parent = rb_last(&service_tree->rb);
> + if (parent) {
> + u64 pos_offset;
> +
> + /*
> + * Estimate the position according to its weight and
> + * ioprio.
> + */
> + pos_offset = cfq_get_boost(cfqd, cfqq);
> + /* Debug purpose, should remove. */
> + cfq_log_cfqq(cfqd, cfqq, "pos_offset: %llu",
> + pos_offset);
You wanted to get rid of above debugging comment?
Thanks
Vivek
next prev parent reply other threads:[~2011-02-10 19:29 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4D51ED26.8050809@cn.fujitsu.com>
2011-02-10 7:46 ` [PATCH 1/6 v4] cfq-iosched: Introduce cfq_entity for CFQ queue Gui Jianfeng
2011-02-10 7:47 ` [PATCH 2/6 v4] cfq-iosched: Introduce cfq_entity for CFQ group Gui Jianfeng
2011-02-10 7:47 ` [PATCH 3/6 v4] cfq-iosched: Introduce vdisktime and io weight for CFQ queue Gui Jianfeng
2011-02-10 19:29 ` Vivek Goyal [this message]
2011-02-12 1:20 ` Gui Jianfeng
2011-02-14 16:58 ` Vivek Goyal
2011-02-15 1:53 ` Gui Jianfeng
2011-02-15 14:24 ` Vivek Goyal
2011-02-16 1:06 ` Gui Jianfeng
2011-02-14 18:13 ` Vivek Goyal
2011-02-15 1:46 ` Gui Jianfeng
2011-02-18 6:04 ` Gui Jianfeng
2011-02-18 14:54 ` Vivek Goyal
2011-02-21 1:13 ` Gui Jianfeng
2011-02-21 5:55 ` Gui Jianfeng
2011-02-21 15:41 ` Vivek Goyal
2011-02-14 23:32 ` Justin TerAvest
2011-02-15 1:44 ` Gui Jianfeng
2011-02-15 14:21 ` Vivek Goyal
2011-02-10 7:47 ` [PATCH 4/6 v4] cfq-iosched: Extract some common code of service tree handling for CFQ queue and CFQ group Gui Jianfeng
2011-02-10 7:47 ` [PATCH 5/6 v4] cfq-iosched: CFQ group hierarchical scheduling and use_hierarchy interface Gui Jianfeng
2011-02-10 20:57 ` Vivek Goyal
2011-02-12 2:21 ` Gui Jianfeng
2011-02-14 18:04 ` Vivek Goyal
2011-02-15 2:38 ` Gui Jianfeng
2011-02-15 14:27 ` Vivek Goyal
2011-02-16 1:44 ` Gui Jianfeng
2011-02-16 14:17 ` Vivek Goyal
2011-02-17 1:22 ` Gui Jianfeng
2011-02-16 17:22 ` Divyesh Shah
2011-02-16 17:28 ` Divyesh Shah
2011-02-16 18:06 ` Vivek Goyal
2011-02-14 3:20 ` Gui Jianfeng
2011-02-14 18:10 ` Vivek Goyal
2011-02-17 0:31 ` Justin TerAvest
2011-02-17 1:21 ` Gui Jianfeng
2011-02-17 17:36 ` Justin TerAvest
2011-02-18 1:14 ` Gui Jianfeng
2011-02-17 10:39 ` Alan Cox
2011-02-10 7:47 ` [PATCH 6/6 v4] blkio-cgroup: Document for blkio.use_hierarchy interface Gui Jianfeng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110210192940.GA2600@redhat.com \
--to=vgoyal@redhat.com \
--cc=axboe@kernel.dk \
--cc=ctalbott@google.com \
--cc=dpshah@google.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=shaohua.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox