From: Andrea Righi <righi.andrea@gmail.com>
To: ptb@inv.it.uc3m.es
Cc: linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/3] i/o bandwidth controller documentation
Date: Fri, 04 Jul 2008 17:35:58 +0200 [thread overview]
Message-ID: <486E435E.3020503@gmail.com> (raw)
In-Reply-To: <200806201611.m5KGBDN02249@inv.it.uc3m.es>
Peter T. Breuer wrote:
>> + Block device I/O bandwidth controller
>
> How can this work? You will limit the number of available buffer heads
> per second?
>
> Unfortunaely, the problem is the fs above the block device. If the
> block device is artificially slowed then the fs will still happily allow
> a process to fill buffers forever until memory is full, while the block
> device continues to trickle the buffers away.
>
> What one wants is for the fs buffering to be linked to the underlying
> block device i/o speed. One wants the rate at which fs buffers are
> filled to be no more than (modulu brief spurts) the rate at which the
> device operates.
>
> That way networked block devices have a chance of having some memory
> left to send the dirty buffers out to the net with. B/w limiting the
> device itself doesn't seem to me to do any good.
>
> Peter
Peter,
I see your message only now, it seems you didn't add me in to or cc.
Anyway, I totally agree with you, but it seems there's a
misunderstanding here. The block device i/o bw controller *does*
throttling slowing down applications' requests and not the dispatching
of the already submitted i/o requests.
IMHO, for the same reason you pointed, delaying the dispatching of i/o
requests simply leads to an excessive page cache and buffers
consumption, because userspace apps dirty ratio is actually never
limited.
As reported in the io-throttle documentation:
"This controller allows to limit the I/O bandwidth of specific block
devices for specific process containers (cgroups) imposing additional
delays on I/O requests for those processes that exceed the limits
defined in the control group filesystem."
Do you think we can use a better wording to describe this concept?
-Andrea
next prev parent reply other threads:[~2008-07-04 15:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200806201602.m5KG2Zx32671@inv.it.uc3m.es>
2008-06-20 16:11 ` [PATCH 1/3] i/o bandwidth controller documentation Peter T. Breuer
2008-07-04 15:35 ` Andrea Righi [this message]
2008-07-04 13:58 Andrea Righi
-- 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
2008-06-06 22:27 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
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=486E435E.3020503@gmail.com \
--to=righi.andrea@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ptb@inv.it.uc3m.es \
/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