All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Andrea Righi
	<righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Paul Menage <menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Balbir Singh
	<balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	Gui Jianfeng
	<guijianfeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>,
	KAMEZ
Subject: Re: [PATCH 1/9] io-throttle documentation
Date: Sun, 19 Apr 2009 09:42:01 -0400	[thread overview]
Message-ID: <20090419134201.GF8493@redhat.com> (raw)
In-Reply-To: <20090417231244.GB6972@linux>

On Sat, Apr 18, 2009 at 01:12:45AM +0200, Andrea Righi wrote:
> On Fri, Apr 17, 2009 at 01:39:55PM -0400, Vivek Goyal wrote:
> > On Tue, Apr 14, 2009 at 10:21:12PM +0200, Andrea Righi wrote:
> > 
> > [..]
> > > +4.2. Buffered I/O (write-back) tracking
> > > +
> > > +For buffered writes the scenario is a bit more complex, because the writes in
> > > +the page cache are processed asynchronously by kernel threads (pdflush), using
> > > +a write-back policy. So the real writes to the underlying block devices occur
> > > +in a different I/O context respect to the task that originally generated the
> > > +dirty pages.
> > > +
> > > +The I/O bandwidth controller uses the following solution to resolve this
> > > +problem.
> > > +
> > > +If the operation is a buffered write, we can charge the right cgroup looking at
> > > +the owner of the first page involved in the I/O operation, that gives the
> > > +context that generated the I/O activity at the source. This information can be
> > > +retrieved using the page_cgroup functionality originally provided by the cgroup
> > > +memory controller [4], and now provided specifically by the bio-cgroup
> > > +controller [5].
> > > +
> > > +In this way we can correctly account the I/O cost to the right cgroup, but we
> > > +cannot throttle the current task in this stage, because, in general, it is a
> > > +different task (e.g., pdflush that is processing asynchronously the dirty
> > > +page).
> > > +
> > > +For this reason, all the write-back requests that are not directly submitted by
> > > +the real owner and that need to be throttled are not dispatched immediately in
> > > +submit_bio(). Instead, they are added into an rbtree and processed
> > > +asynchronously by a dedicated kernel thread: kiothrottled.
> > > +
> > 
> > Hi Andrea,
> 
> Hi Vivek,
> 
> > 
> > I am trying to go through your patches now and also planning to test it
> 
> thanks for trying to test first of all.
> 
> > out. While reading the documentation async write handling interested
> > me. IIUC, looks like you are throttling writes once they are being 
> > written to the disk (either by pdflush or in the context of the process
> > because vm_dirty_ratio crossed etc).
> 
> Correct, more exactly in submit_bio().
> 
> The difference between synchronous IO and writeback IO is that in the
> first case the task itself is throttled via schedule_timeout_killable();
> in the second case pdflush is never throttled, the IO requests instead
> are simply added into a rbtree and dispatched asynchronously by another
> kernel thread (kiothrottled) using a EDF-like scheduling. More exactly,
> a deadline is evaluated for each writeback IO request looking at the
> cgroup BW and iops/sec limits, then kiothrottled periodically selects
> and dispatches the requests with an elapsed deadline.
> 

Ok, i will look into the logic of translating cgroup BW limits into
deadline. But as Nauman pointed out that we probably will run into 
issues of tasks with in cgroup as we loose that notion of class and prio.

> > 
> > If that's the case, will a process not see an increased rate of writes
> > till we are not hitting dirty_background_ratio?
> 
> Correct. And this is a good behaviour IMHO. At the same time we have a
> smooth BW usage (according to the cgroup limits I mean) even in presence
> of writeback IO only.
> 

Hmm.., I am not able to understand this. The very fact that you will see
a high rate of async writes (more than specified by cgroup max BW), till
you hit dirty_background_ratio, isn't it against the goals of max bw
controller? You wanted to see a consistent view of rate even if spare BW
is available, and this scenario goes against that? 

Think of an hypothetical configuration of 10G RAM with dirty ratio say
set to 20%. Assume not much of write out is taking place in the system.
So for first 2G of writes, application will be able to write it at cpu
speed and no throttling will kick in and a cgroup will easily cross it
max BW? 
  
> > 
> > Secondly, if above is giving acceptable performance resutls, then we
> > should be able to provide max bw control at IO scheduler level (along
> > with proportional bw control)?
> > 
> > So instead of doing max bw and proportional bw implementation in two
> > places with the help of different controllers, I think we can do it
> > with the help of one controller at one place. 
> > 
> > Please do have a look at my patches also to figure out if that's possible
> > or not. I think it should be possible.
> > 
> > Keeping both at single place should simplify the things.
> 
> Absolutely agree to do both proportional and max BW limiting in a single
> place. I still need to figure which is the best place, if the IO
> scheduler in the elevator, when the IO requests are submitted. A natural
> way IMHO is to control the submission of requests, also Andrew seemed to
> be convinced about this approach. Anyway, I've already scheduled to test
> your patchset and I'd like to see if it's possible to merge our works,
> or select the best from ours patchsets.
> 

Are we not already controlling submission of request (at crude level).
If application is doing writeout at high rate, then it hits vm_dirty_ratio
hits and this application is forced to do write out and hence it is slowed
down and is not allowed to submit writes at high rate.

Just that it is not a very fair scheme right now as during right out
a high prio/high weight cgroup application can start writing out some
other cgroups' pages.

For this we probably need to have some combination of solutions like
per cgroup upper limit on dirty pages. Secondly probably if an application
is slowed down because of hitting vm_drity_ratio, it should try to
write out the inode it is dirtying first instead of picking any random
inode and associated pages. This will ensure that a high weight
application can quickly get through the write outs and see higher
throughput from the disk.

Thanks
Vivek

WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Andrea Righi <righi.andrea@gmail.com>,
	Paul Menage <menage@google.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	Gui Jianfeng <guijianfeng@cn.fujitsu.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	agk@sourceware.org, akpm@linux-foundation.org, axboe@kernel.dk,
	baramsori72@gmail.com, Carl Henrik Lunde <chlunde@ping.uio.no>,
	dave@linux.vnet.ibm.com, Divyesh Shah <dpshah@google.com>,
	eric.rannaud@gmail.com, fernando@oss.ntt.co.jp,
	Hirokazu Takahashi <taka@valinux.co.jp>,
	Li Zefan <lizf@cn.fujitsu.com>,
	matt@bluehost.com, dradford@bluehost.com, ngupta@google.com,
	randy.dunlap@oracle.com, roberto@unbit.it,
	Ryo Tsuruta <ryov@valinux.co.jp>,
	Satoshi UCHIDA <s-uchida@ap.jp.nec.com>,
	subrata@linux.vnet.ibm.com, yoshikawa.takuya@oss.ntt.co.jp,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/9] io-throttle documentation
Date: Sun, 19 Apr 2009 09:42:01 -0400	[thread overview]
Message-ID: <20090419134201.GF8493@redhat.com> (raw)
In-Reply-To: <20090417231244.GB6972@linux>

On Sat, Apr 18, 2009 at 01:12:45AM +0200, Andrea Righi wrote:
> On Fri, Apr 17, 2009 at 01:39:55PM -0400, Vivek Goyal wrote:
> > On Tue, Apr 14, 2009 at 10:21:12PM +0200, Andrea Righi wrote:
> > 
> > [..]
> > > +4.2. Buffered I/O (write-back) tracking
> > > +
> > > +For buffered writes the scenario is a bit more complex, because the writes in
> > > +the page cache are processed asynchronously by kernel threads (pdflush), using
> > > +a write-back policy. So the real writes to the underlying block devices occur
> > > +in a different I/O context respect to the task that originally generated the
> > > +dirty pages.
> > > +
> > > +The I/O bandwidth controller uses the following solution to resolve this
> > > +problem.
> > > +
> > > +If the operation is a buffered write, we can charge the right cgroup looking at
> > > +the owner of the first page involved in the I/O operation, that gives the
> > > +context that generated the I/O activity at the source. This information can be
> > > +retrieved using the page_cgroup functionality originally provided by the cgroup
> > > +memory controller [4], and now provided specifically by the bio-cgroup
> > > +controller [5].
> > > +
> > > +In this way we can correctly account the I/O cost to the right cgroup, but we
> > > +cannot throttle the current task in this stage, because, in general, it is a
> > > +different task (e.g., pdflush that is processing asynchronously the dirty
> > > +page).
> > > +
> > > +For this reason, all the write-back requests that are not directly submitted by
> > > +the real owner and that need to be throttled are not dispatched immediately in
> > > +submit_bio(). Instead, they are added into an rbtree and processed
> > > +asynchronously by a dedicated kernel thread: kiothrottled.
> > > +
> > 
> > Hi Andrea,
> 
> Hi Vivek,
> 
> > 
> > I am trying to go through your patches now and also planning to test it
> 
> thanks for trying to test first of all.
> 
> > out. While reading the documentation async write handling interested
> > me. IIUC, looks like you are throttling writes once they are being 
> > written to the disk (either by pdflush or in the context of the process
> > because vm_dirty_ratio crossed etc).
> 
> Correct, more exactly in submit_bio().
> 
> The difference between synchronous IO and writeback IO is that in the
> first case the task itself is throttled via schedule_timeout_killable();
> in the second case pdflush is never throttled, the IO requests instead
> are simply added into a rbtree and dispatched asynchronously by another
> kernel thread (kiothrottled) using a EDF-like scheduling. More exactly,
> a deadline is evaluated for each writeback IO request looking at the
> cgroup BW and iops/sec limits, then kiothrottled periodically selects
> and dispatches the requests with an elapsed deadline.
> 

Ok, i will look into the logic of translating cgroup BW limits into
deadline. But as Nauman pointed out that we probably will run into 
issues of tasks with in cgroup as we loose that notion of class and prio.

> > 
> > If that's the case, will a process not see an increased rate of writes
> > till we are not hitting dirty_background_ratio?
> 
> Correct. And this is a good behaviour IMHO. At the same time we have a
> smooth BW usage (according to the cgroup limits I mean) even in presence
> of writeback IO only.
> 

Hmm.., I am not able to understand this. The very fact that you will see
a high rate of async writes (more than specified by cgroup max BW), till
you hit dirty_background_ratio, isn't it against the goals of max bw
controller? You wanted to see a consistent view of rate even if spare BW
is available, and this scenario goes against that? 

Think of an hypothetical configuration of 10G RAM with dirty ratio say
set to 20%. Assume not much of write out is taking place in the system.
So for first 2G of writes, application will be able to write it at cpu
speed and no throttling will kick in and a cgroup will easily cross it
max BW? 
  
> > 
> > Secondly, if above is giving acceptable performance resutls, then we
> > should be able to provide max bw control at IO scheduler level (along
> > with proportional bw control)?
> > 
> > So instead of doing max bw and proportional bw implementation in two
> > places with the help of different controllers, I think we can do it
> > with the help of one controller at one place. 
> > 
> > Please do have a look at my patches also to figure out if that's possible
> > or not. I think it should be possible.
> > 
> > Keeping both at single place should simplify the things.
> 
> Absolutely agree to do both proportional and max BW limiting in a single
> place. I still need to figure which is the best place, if the IO
> scheduler in the elevator, when the IO requests are submitted. A natural
> way IMHO is to control the submission of requests, also Andrew seemed to
> be convinced about this approach. Anyway, I've already scheduled to test
> your patchset and I'd like to see if it's possible to merge our works,
> or select the best from ours patchsets.
> 

Are we not already controlling submission of request (at crude level).
If application is doing writeout at high rate, then it hits vm_dirty_ratio
hits and this application is forced to do write out and hence it is slowed
down and is not allowed to submit writes at high rate.

Just that it is not a very fair scheme right now as during right out
a high prio/high weight cgroup application can start writing out some
other cgroups' pages.

For this we probably need to have some combination of solutions like
per cgroup upper limit on dirty pages. Secondly probably if an application
is slowed down because of hitting vm_drity_ratio, it should try to
write out the inode it is dirtying first instead of picking any random
inode and associated pages. This will ensure that a high weight
application can quickly get through the write outs and see higher
throughput from the disk.

Thanks
Vivek

  reply	other threads:[~2009-04-19 13:42 UTC|newest]

Thread overview: 207+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-14 20:21 [PATCH 0/9] cgroup: io-throttle controller (v13) Andrea Righi
     [not found] ` <1239740480-28125-1-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-14 20:21   ` [PATCH 1/9] io-throttle documentation Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-17  1:24     ` KAMEZAWA Hiroyuki
2009-04-17  1:56       ` Li Zefan
2009-04-17 10:25         ` Andrea Righi
2009-04-17 10:41           ` Andrea Righi
2009-04-17 10:41           ` Andrea Righi
2009-04-17 11:35           ` Fernando Luis Vázquez Cao
2009-04-17 11:35           ` Fernando Luis Vázquez Cao
2009-04-20  9:38           ` Ryo Tsuruta
2009-04-20  9:38           ` Ryo Tsuruta
     [not found]             ` <20090420.183815.226804723.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-20 15:00               ` Andrea Righi
2009-04-20 15:00             ` Andrea Righi
2009-04-27 10:45               ` Ryo Tsuruta
2009-04-27 12:15                 ` Ryo Tsuruta
     [not found]                 ` <20090427.194533.183037823.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-27 12:15                   ` Ryo Tsuruta
2009-04-27 21:56                   ` Andrea Righi
2009-04-27 21:56                     ` Andrea Righi
2009-04-27 10:45               ` Ryo Tsuruta
     [not found]         ` <49E7E1CF.6060209-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-17 10:25           ` Andrea Righi
2009-04-17  7:34       ` Gui Jianfeng
2009-04-17  7:43         ` KAMEZAWA Hiroyuki
2009-04-17  9:29           ` Gui Jianfeng
     [not found]           ` <20090417164351.ea85012d.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  9:29             ` Gui Jianfeng
     [not found]         ` <49E8311D.5030901-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-04-17  7:43           ` KAMEZAWA Hiroyuki
     [not found]       ` <20090417102417.88a0ef93.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  1:56         ` Li Zefan
2009-04-17  7:34         ` Gui Jianfeng
2009-04-17  9:55         ` Andrea Righi
2009-04-17  9:55       ` Andrea Righi
     [not found]     ` <1239740480-28125-2-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-17  1:24       ` KAMEZAWA Hiroyuki
2009-04-17 17:39       ` Vivek Goyal
2009-04-17 17:39         ` Vivek Goyal
2009-04-17 23:12         ` Andrea Righi
2009-04-19 13:42           ` Vivek Goyal [this message]
2009-04-19 13:42             ` Vivek Goyal
     [not found]             ` <20090419134201.GF8493-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-19 15:47               ` Andrea Righi
2009-04-19 15:47             ` Andrea Righi
2009-04-20 21:28               ` Vivek Goyal
2009-04-20 21:28                 ` Vivek Goyal
2009-04-20 22:05                 ` Andrea Righi
2009-04-21  1:08                   ` Vivek Goyal
2009-04-21  1:08                     ` Vivek Goyal
     [not found]                     ` <20090421010846.GA15850-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-21  8:37                       ` Andrea Righi
2009-04-21  8:37                     ` Andrea Righi
2009-04-21 14:23                       ` Vivek Goyal
2009-04-21 14:23                         ` Vivek Goyal
     [not found]                         ` <20090421142305.GB22619-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-21 18:29                           ` Vivek Goyal
2009-04-21 18:29                             ` Vivek Goyal
     [not found]                             ` <20090421182958.GF22619-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-21 21:36                               ` Andrea Righi
2009-04-21 21:36                                 ` Andrea Righi
2009-04-21 21:28                           ` Andrea Righi
2009-04-21 21:28                         ` Andrea Righi
     [not found]                 ` <20090420212827.GA9080-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-20 22:05                   ` Andrea Righi
2009-04-19 13:54           ` Vivek Goyal
2009-04-19 13:54             ` Vivek Goyal
     [not found]         ` <20090417173955.GF29086-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-04-17 23:12           ` Andrea Righi
2009-04-14 20:21   ` [PATCH 2/9] res_counter: introduce ratelimiting attributes Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-14 20:21   ` [PATCH 3/9] bio-cgroup controller Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-15  2:15     ` KAMEZAWA Hiroyuki
2009-04-15  9:37       ` Andrea Righi
2009-04-15 12:38         ` Ryo Tsuruta
     [not found]           ` <20090415.213850.226770691.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-15 13:23             ` Andrea Righi
2009-04-15 13:23           ` Andrea Righi
2009-04-15 23:58             ` KAMEZAWA Hiroyuki
2009-04-15 23:58             ` KAMEZAWA Hiroyuki
2009-04-16 10:42               ` Andrea Righi
2009-04-16 12:00                 ` Ryo Tsuruta
2009-04-16 12:00                 ` Ryo Tsuruta
2009-04-17  0:04                 ` KAMEZAWA Hiroyuki
2009-04-17  9:44                   ` Andrea Righi
     [not found]                   ` <20090417090451.5ad9022f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  9:44                     ` Andrea Righi
2009-04-17  0:04                 ` KAMEZAWA Hiroyuki
     [not found]               ` <20090416085814.8b6d077f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-16 10:42                 ` Andrea Righi
2009-04-15 12:38         ` Ryo Tsuruta
2009-04-15 13:07       ` Andrea Righi
     [not found]       ` <20090415111528.b796519a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-15  9:37         ` Andrea Righi
2009-04-15 13:07         ` Andrea Righi
2009-04-16 22:29     ` Andrew Morton
2009-04-17  0:20       ` KAMEZAWA Hiroyuki
     [not found]         ` <20090417092040.1c832c69.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  0:44           ` Andrew Morton
2009-04-17  0:44             ` Andrew Morton
2009-04-17  1:44             ` Ryo Tsuruta
2009-04-17  4:15               ` Andrew Morton
     [not found]                 ` <20090416211514.038c5e91.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-04-17  7:48                   ` Ryo Tsuruta
2009-04-17  7:48                 ` Ryo Tsuruta
     [not found]               ` <20090417.104432.193700511.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-17  4:15                 ` Andrew Morton
2009-04-17  1:50             ` Balbir Singh
     [not found]             ` <20090416174428.6bb5da21.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-04-17  1:44               ` Ryo Tsuruta
2009-04-17  1:50               ` Balbir Singh
     [not found]       ` <20090416152937.b2188370.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-04-17  0:20         ` KAMEZAWA Hiroyuki
2009-04-17  9:40         ` Andrea Righi
2009-04-17  9:40       ` Andrea Righi
2009-04-17  1:49     ` Takuya Yoshikawa
2009-04-17  2:24       ` KAMEZAWA Hiroyuki
     [not found]         ` <20090417112433.085ed604.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  7:22           ` Ryo Tsuruta
2009-04-17  7:22         ` Ryo Tsuruta
2009-04-17  8:00           ` KAMEZAWA Hiroyuki
     [not found]             ` <20090417170016.5c7268f1.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  8:48               ` KAMEZAWA Hiroyuki
2009-04-17  8:48             ` KAMEZAWA Hiroyuki
     [not found]               ` <20090417174854.07aeec9f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-17  8:51                 ` KAMEZAWA Hiroyuki
2009-04-17  8:51               ` KAMEZAWA Hiroyuki
     [not found]           ` <20090417.162201.183038478.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-17  8:00             ` KAMEZAWA Hiroyuki
2009-04-17 11:27             ` Block I/O tracking (was Re: [PATCH 3/9] bio-cgroup controller) Fernando Luis Vázquez Cao
2009-04-17 11:27           ` Fernando Luis Vázquez Cao
2009-04-17 22:09             ` Andrea Righi
     [not found]             ` <49E8679D.8010405-gVGce1chcLdL9jVzuh4AOg@public.gmane.org>
2009-04-17 22:09               ` Andrea Righi
2009-04-17  7:32       ` [PATCH 3/9] bio-cgroup controller Ryo Tsuruta
     [not found]       ` <49E7E037.9080004-gVGce1chcLdL9jVzuh4AOg@public.gmane.org>
2009-04-17  2:24         ` KAMEZAWA Hiroyuki
2009-04-17  7:32         ` Ryo Tsuruta
2009-04-17 10:22     ` Balbir Singh
     [not found]       ` <20090417102214.GC3896-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-04-20 11:35         ` Ryo Tsuruta
2009-04-20 11:35       ` Ryo Tsuruta
     [not found]         ` <20090420.203540.104031006.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-04-20 14:56           ` Andrea Righi
2009-04-20 14:56         ` Andrea Righi
2009-04-21 11:39           ` Ryo Tsuruta
2009-04-21 11:39           ` Ryo Tsuruta
2009-04-21 15:31           ` Balbir Singh
2009-04-21 15:31           ` Balbir Singh
     [not found]     ` <1239740480-28125-4-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-15  2:15       ` KAMEZAWA Hiroyuki
2009-04-16 22:29       ` Andrew Morton
2009-04-17  1:49       ` Takuya Yoshikawa
2009-04-17 10:22       ` Balbir Singh
2009-04-14 20:21   ` [PATCH 4/9] support checking of cgroup subsystem dependencies Andrea Righi
2009-04-14 20:21   ` [PATCH 5/9] io-throttle controller infrastructure Andrea Righi
2009-04-14 20:21   ` [PATCH 6/9] kiothrottled: throttle buffered (writeback) IO Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-14 20:21   ` [PATCH 7/9] io-throttle instrumentation Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-14 20:21   ` [PATCH 8/9] export per-task io-throttle statistics to userspace Andrea Righi
2009-04-14 20:21     ` Andrea Righi
2009-04-14 20:21   ` [PATCH 9/9] ext3: do not throttle metadata and journal IO Andrea Righi
2009-04-14 20:21     ` Andrea Righi
     [not found]     ` <1239740480-28125-10-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-04-17 12:38       ` Theodore Tso
2009-04-17 12:38     ` Theodore Tso
2009-04-17 12:50       ` Jens Axboe
     [not found]         ` <20090417125004.GY4593-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-04-17 14:39           ` Andrea Righi
2009-04-17 14:39         ` Andrea Righi
2009-04-21  0:18           ` Theodore Tso
2009-04-21  8:30             ` Andrea Righi
2009-04-21 14:06               ` Theodore Tso
2009-04-21 14:31                 ` Andrea Righi
2009-04-21 16:35                   ` Theodore Tso
     [not found]                     ` <20090421163537.GI19186-3s7WtUTddSA@public.gmane.org>
2009-04-21 17:23                       ` Balbir Singh
2009-04-21 17:23                     ` Balbir Singh
     [not found]                       ` <20090421172317.GM19637-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-04-21 17:46                         ` Theodore Tso
2009-04-21 17:46                       ` Theodore Tso
     [not found]                         ` <20090421174620.GD15541-3s7WtUTddSA@public.gmane.org>
2009-04-21 18:14                           ` Balbir Singh
2009-04-21 18:14                         ` Balbir Singh
2009-04-21 19:14                           ` Theodore Tso
     [not found]                             ` <20090421191401.GF15541-3s7WtUTddSA@public.gmane.org>
2009-04-21 20:49                               ` Andrea Righi
2009-04-22  3:30                               ` Balbir Singh
2009-04-21 20:49                             ` Andrea Righi
2009-04-22  0:33                               ` KAMEZAWA Hiroyuki
2009-04-22  1:21                                 ` KAMEZAWA Hiroyuki
     [not found]                                   ` <20090422102153.9aec17b9.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-22 10:22                                     ` Andrea Righi
2009-04-22 10:22                                   ` Andrea Righi
2009-04-23  0:05                                     ` KAMEZAWA Hiroyuki
2009-04-23  1:22                                       ` Theodore Tso
     [not found]                                         ` <20090423012254.GZ15541-3s7WtUTddSA@public.gmane.org>
2009-04-23  2:54                                           ` KAMEZAWA Hiroyuki
2009-04-23  2:54                                         ` KAMEZAWA Hiroyuki
     [not found]                                           ` <20090423115419.c493266a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-23  4:35                                             ` Theodore Tso
2009-04-23  4:35                                           ` Theodore Tso
     [not found]                                             ` <20090423043547.GB2723-3s7WtUTddSA@public.gmane.org>
2009-04-23  4:58                                               ` Andrew Morton
2009-04-23  4:58                                                 ` Andrew Morton
2009-04-23  5:37                                                 ` KAMEZAWA Hiroyuki
     [not found]                                                 ` <20090422215825.f83e1b27.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-04-23  5:37                                                   ` KAMEZAWA Hiroyuki
2009-04-23  9:44                                               ` Andrea Righi
2009-04-24  5:14                                               ` Balbir Singh
2009-04-23  9:44                                             ` Andrea Righi
2009-04-23 12:17                                               ` Theodore Tso
2009-04-23 12:17                                               ` Theodore Tso
     [not found]                                                 ` <20090423121745.GC2723-3s7WtUTddSA@public.gmane.org>
2009-04-23 12:27                                                   ` Theodore Tso
2009-04-23 12:27                                                     ` Theodore Tso
2009-04-23 21:13                                                   ` Andrea Righi
2009-04-23 21:13                                                     ` Andrea Righi
2009-04-24  0:26                                                     ` KAMEZAWA Hiroyuki
2009-04-24  0:26                                                     ` KAMEZAWA Hiroyuki
2009-04-24  5:14                                             ` Balbir Singh
2009-04-23 10:03                                       ` Andrea Righi
     [not found]                                       ` <20090423090535.ec419269.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-23  1:22                                         ` Theodore Tso
2009-04-23 10:03                                         ` Andrea Righi
2009-04-23  0:05                                     ` KAMEZAWA Hiroyuki
     [not found]                                 ` <20090422093349.1ee9ae82.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-04-22  1:21                                   ` KAMEZAWA Hiroyuki
2009-04-22  0:33                               ` KAMEZAWA Hiroyuki
2009-04-22  3:30                             ` Balbir Singh
     [not found]                           ` <20090421181429.GO19637-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-04-21 19:14                             ` Theodore Tso
2009-04-21 16:35                   ` Theodore Tso
     [not found]                 ` <20090421140631.GF19186-3s7WtUTddSA@public.gmane.org>
2009-04-21 14:31                   ` Andrea Righi
2009-04-24 15:10                   ` Balbir Singh
2009-04-24 15:10                 ` Balbir Singh
2009-04-21 14:06               ` Theodore Tso
     [not found]             ` <20090421001822.GB19186-3s7WtUTddSA@public.gmane.org>
2009-04-21  8:30               ` Andrea Righi
2009-04-21  0:18           ` Theodore Tso
     [not found]       ` <20090417123805.GC7117-3s7WtUTddSA@public.gmane.org>
2009-04-17 12:50         ` Jens Axboe
2009-04-16 22:24   ` [PATCH 0/9] cgroup: io-throttle controller (v13) Andrew Morton
2009-04-16 22:24     ` Andrew Morton
     [not found]     ` <20090416152433.aaaba300.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-04-17  9:37       ` Andrea Righi
2009-04-17  9:37         ` Andrea Righi
2009-04-30 13:20   ` Alan D. Brunelle
2009-04-14 20:21 ` [PATCH 4/9] support checking of cgroup subsystem dependencies Andrea Righi
2009-04-14 20:21 ` [PATCH 5/9] io-throttle controller infrastructure Andrea Righi
2009-04-30 13:20 ` [PATCH 0/9] cgroup: io-throttle controller (v13) Alan D. Brunelle
     [not found]   ` <49F9A5BA.9030100-VXdhtT5mjnY@public.gmane.org>
2009-05-01 11:11     ` Andrea Righi
2009-05-01 11:11   ` 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=20090419134201.GF8493@redhat.com \
    --to=vgoyal-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=guijianfeng-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
    --cc=menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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 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.