From: Vivek Goyal <vgoyal@redhat.com>
To: Juerg Haefliger <juergh@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: Support for global block IO throttling?
Date: Fri, 1 Apr 2011 09:58:38 -0400 [thread overview]
Message-ID: <20110401135838.GA20986@redhat.com> (raw)
In-Reply-To: <AANLkTi=rMdCz97QLkz=xHy7AxfxFVEgsf=qmXKc5ORWE@mail.gmail.com>
On Fri, Apr 01, 2011 at 10:05:41AM +0200, Juerg Haefliger wrote:
> Hi Vivek,
>
>
> > Also current IO controller does not work for NFS. So if a global limit
> > is imposed in higher layers it will solve that issue too.
> >
> > Also if you implement it above page cache then it should automatically
> > handle the case of async writes too. The downside is that if limits
> > are low, buffered writers will be throttled very frequently.
>
> I'm not exactly sure where in the stack you see this global bandwidth
> controller. What do you mean by 'above the page cache'? I interpret
> this such that access to the page cache would be bandwidth limited as
> well? That doesn't sound right to me.
You are right. For reads it will not make sense to implement it above
page cache as reads coming out of page cache need not be throttled.
So it will probably boil down to that implement buffered write throttling
when entring the page cache and read throttling somewhere below.
generic_make_request()? But that will not take care of network file system
case I think.
May be we can enhance blk_throtl_bio() itself to also check for global
rules and subject bio to first global rules and put in a global
queue. This probably will work for your virtual machine cases but
it does not take care of buffered writes and NFS IO. May be that is
still a good first step towards global IO limit implementation.
Thanks
Vivek
prev parent reply other threads:[~2011-04-01 13:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 13:48 Support for global block IO throttling? Juerg Haefliger
2011-03-23 14:25 ` Vivek Goyal
2011-03-23 14:39 ` Juerg Haefliger
2011-03-23 14:54 ` Vivek Goyal
2011-03-24 7:17 ` Juerg Haefliger
2011-04-01 8:05 ` Juerg Haefliger
2011-04-01 13:58 ` Vivek Goyal [this message]
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=20110401135838.GA20986@redhat.com \
--to=vgoyal@redhat.com \
--cc=juergh@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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