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: 17+ 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-07-04 13:58 Andrea Righi
2008-06-20 10:05 Andrea Righi
2008-06-20 10:05 Andrea Righi
[not found] ` <1213956335-29866-2-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-06-20 17:08 ` Randy Dunlap
2008-06-20 17:08 ` Randy Dunlap
[not found] ` <20080620100825.eff22c44.randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2008-06-21 10:35 ` Andrea Righi
2008-06-21 10:35 ` Andrea Righi
2008-06-22 16:03 ` Randy Dunlap
[not found] ` <485CD956.3070209-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.