From: Andrea Righi <righi.andrea@gmail.com>
To: Carl Henrik Lunde <chlunde@ping.uio.no>
Cc: balbir@linux.vnet.ibm.com, menage@google.com, matt@bluehost.com,
roberto@unbit.it, randy.dunlap@oracle.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] i/o bandwidth controller documentation
Date: Thu, 19 Jun 2008 00:28:11 +0200 [thread overview]
Message-ID: <48598BFB.1040305@gmail.com> (raw)
In-Reply-To: <ed038eb20806180816w5a4f9d6bt276dec1373758e08@mail.gmail.com>
Carl Henrik Lunde wrote:
> On Sat, Jun 7, 2008 at 00:27, Andrea Righi <righi.andrea@gmail.com> wrote:
> [...]
>> +3. Advantages of providing this feature
>> +
>> +* Allow QoS for block device I/O among different cgroups
>
> I'm not sure if this can be called QoS, as it does not guarantee
> anything but throttling?
That's correct. There's nothing to guarantee minimum bandwidth levels
right now, the "QoS" is implemented only slowing down i/o "traffic" that
exceeds the limits (probably "i/o traffic shaping" is a better wording).
Minimum thresholds are supposed to be guaranteed if the user configures
a proper i/o bandwidth partitioning of the block devices shared among
the different cgroups (that could mean: the sum of all the single limits
for a device doesn't exceed the total i/o bandwidth of that device... at
least theoretically).
I'll try to clarify better this concept in the documentation that I'll
include in the next patchset version.
I'd also like to explore the io-throttle controller on-top-of other i/o
band controlling solutions (see for example:
http://lkml.org/lkml/2008/4/3/45), in order to exploit both the limiting
feature from io-throttle and use priority / fair queueing alghorithms to
guarantee minimum performance levels.
>> +* The bandwidth limitations are guaranteed both for synchronous and
>> + asynchronous operations, even the I/O passing through the page cache or
>> + buffers and not only direct I/O (see below for details)
>
> The throttling does not seem to cover the I/O path for XFS?
> I was unable to throttle processes reading from an XFS file system.
mmmh... works for me. Are you sure you've limited the correct block
device?
> Also I think the name of the function cgroup_io_account is a bit too innocent?
> It sounds like a inline function "{ io += bytes; }", not like
> something which may sleep.
Agree. What about cgroup_acct_and_throttle_io()? suggestions?
Thanks,
-Andrea
next prev parent reply other threads:[~2008-06-18 22:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-06 22:27 [PATCH 1/3] i/o bandwidth controller documentation Andrea Righi
2008-06-11 22:42 ` Randy Dunlap
2008-06-11 22:51 ` Andrea Righi
2008-06-18 15:16 ` Carl Henrik Lunde
2008-06-18 22:28 ` Andrea Righi [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-06-20 10:05 Andrea Righi
2008-06-20 17:08 ` Randy Dunlap
2008-06-21 10:35 ` Andrea Righi
2008-06-22 16:03 ` Randy Dunlap
[not found] <200806201602.m5KG2Zx32671@inv.it.uc3m.es>
2008-06-20 16:11 ` Peter T. Breuer
2008-07-04 15:35 ` Andrea Righi
2008-07-04 13:58 Andrea Righi
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=48598BFB.1040305@gmail.com \
--to=righi.andrea@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=chlunde@ping.uio.no \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@bluehost.com \
--cc=menage@google.com \
--cc=randy.dunlap@oracle.com \
--cc=roberto@unbit.it \
/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