[PATCH 3/9] bio-cgroup controller

Andrea Righi righi.andrea at gmail.com
Fri Apr 17 02:40:42 PDT 2009


On Thu, Apr 16, 2009 at 03:29:37PM -0700, Andrew Morton wrote:
> On Tue, 14 Apr 2009 22:21:14 +0200
> Andrea Righi <righi.andrea at gmail.com> wrote:
> 
> > Subject: [PATCH 3/9] bio-cgroup controller
> 
> Sorry, but I have to register extreme distress at the name of this. 
> The term "bio" is well-established in the kernel and here we have a new
> definition for the same term: "block I/O".
> 
> "bio" was a fine term for you to have chosen from the user's
> perspective, but from the kernel developer perspective it is quite
> horrid.  The patch adds a vast number of new symbols all into the
> existing "bio_" namespace, many of which aren't related to `struct bio'
> at all.
> 
> At least, I think that's what's happening.  Perhaps the controller
> really _is_ designed to track `struct bio'?  If so, that's an odd thing
> to tell userspace about.
> 
> 
> > The controller bio-cgroup is used by io-throttle to track writeback IO
> > and for properly apply throttling.
> 
> Presumably it tracks all forms of block-based I/O and not just delayed
> writeback.

For the general case bio-cgroup tracks all forms of block IO, in this
particular case (only for the io-throttle controller) I used bio-cgroup
to track writeback IO. Synchronous IO is accounted directly in
submit_bio() and throttled as well, imposing explicit sleeps via
schedule_timeout_killable().

-Andrea


More information about the Containers mailing list