mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Corrado Zoccolo <czoccolo@gmail.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: "Alan D. Brunelle" <Alan.Brunelle@hp.com>,
	linux-kernel@vger.kernel.org, jens.axboe@oracle.com
Subject: Re: [RFC] Block IO Controller V2 - some results
Date: Thu, 19 Nov 2009 00:35:12 +0100	[thread overview]
Message-ID: <4e5e476b0911181535y4d73d381s14b54c6d787d2b46@mail.gmail.com> (raw)
In-Reply-To: <20091118225626.GA2974@redhat.com>

Hi Vivek,
On Wed, Nov 18, 2009 at 11:56 PM, Vivek Goyal <vgoyal@redhat.com> wrote:
> Moving all the queues to root group is one way to solve the issue. Though
> problem still remains if there are 7-8 sequential workload groups operating
> with low_latency=0. In that case after every dispatch round of sync-noidle
> workload in root group, next round might be much more than 300ms, hence
> bumping up the max latencies of sync-noidle workload.

I think that this is the desired behaviour: low_latency=0 means that
latency is less important than throughput, so I wouldn't worry about
it.

>
> I think one of the core problem seems to be that I always put the group at
> the end of service tree. Instead I should let the group delete from
> service tree if it does not have sufficient IO, and when it comes back
> again, try to put it in the beginning of tree according to weight so
> that not all is lost and it gets to dispatch IO sooner.

It is similar to how the queues are put in service tree in cfq without groups.
If a queue had some remaining slice, it is prioritized w.r.t. ones
that consumed their slice completely, by giving it a lower key.

> This way, the groups which have been using long slices (either because
> they are running sync-idle workload or because they have sufficient IO
> to keep the disk busy), will be towards later end of service tree and the
> groups which are new or which have lost their share because they have
> dispatched a small IO and got deleted, will be put at the front of tree.
>
> This way sync-noidle queues in a group will not loose out because of
> sync-idle IO happening in other groups.

It is ok if you have group idling, but if you disable it (and end of
tree idle), it will be similar to how CFQ was before my patch set (and
experiments showed that the approach was inferior to grouping no-idle
together), without the service differentiation benefit introduced by
your idling.
So I still prefer the binary choice: either you want fairness (by
idling) or performance (by putting all no-idle queues together).

>
> I have written couple of small patches and still testing it out to see
> whether it is working fine in various configurations.
>
> Will post patches after some testing.
>
> Thanks
> Vivek
>

Thanks
Corrado

  reply	other threads:[~2009-11-18 23:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-16 20:51 Alan D. Brunelle
2009-11-16 21:14 ` Vivek Goyal
2009-11-16 21:32   ` Alan D. Brunelle
2009-11-16 21:37     ` Vivek Goyal
2009-11-16 22:18 ` Vivek Goyal
2009-11-17 12:38   ` Alan D. Brunelle
2009-11-17 14:14     ` Vivek Goyal
2009-11-17 16:17       ` Corrado Zoccolo
2009-11-17 16:40         ` Vivek Goyal
2009-11-17 17:30           ` Alan D. Brunelle
2009-11-17 17:44             ` Vivek Goyal
2009-11-17 20:59           ` Corrado Zoccolo
2009-11-17 22:38             ` Vivek Goyal
2009-11-17 23:11               ` Corrado Zoccolo
2009-11-19  0:04                 ` Vivek Goyal
2009-11-19 20:12                   ` Corrado Zoccolo
2009-11-17 16:45         ` Alan D. Brunelle
2009-11-18 15:32     ` Vivek Goyal
2009-11-18 16:20       ` Corrado Zoccolo
2009-11-18 22:56         ` Vivek Goyal
2009-11-18 23:35           ` Corrado Zoccolo [this message]
2009-11-20 14:18             ` Vivek Goyal
2009-11-20 14:28               ` Corrado Zoccolo
2009-11-20 15:04                 ` Vivek Goyal
2009-11-20 18:32                   ` Corrado Zoccolo
2009-11-20 18:42                     ` Vivek Goyal
2009-11-20 19:50                       ` Corrado Zoccolo
2009-11-21 17:57                         ` Corrado Zoccolo
2009-11-23 15:19                           ` Vivek Goyal
2009-11-23 16:22                             ` Corrado Zoccolo
2009-11-17 20:38 ` Alan D. Brunelle
2009-11-19 16:57   ` Vivek Goyal

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=4e5e476b0911181535y4d73d381s14b54c6d787d2b46@mail.gmail.com \
    --to=czoccolo@gmail.com \
    --cc=Alan.Brunelle@hp.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vgoyal@redhat.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

all inboxes | Powered by JetHome®