[Devel] Re: [PATCH 3/9] bio-cgroup controller

Ryo Tsuruta ryov at valinux.co.jp
Fri Apr 17 00:22:01 PDT 2009


Hi,

From: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
Date: Fri, 17 Apr 2009 11:24:33 +0900

> On Fri, 17 Apr 2009 10:49:43 +0900
> Takuya Yoshikawa <yoshikawa.takuya at oss.ntt.co.jp> wrote:
> 
> > Hi,
> > 
> > I have a few question.
> >    - I have not yet fully understood how your controller are using
> >      bio_cgroup. If my view is wrong please tell me.
> > 
> > o In my view, bio_cgroup's implementation strongly depends on
> >    page_cgoup's. Could you explain for what purpose does this
> >    functionality itself should be implemented as cgroup subsystem?
> >    Using page_cgoup and implementing tracking APIs is not enough?
> 
> I'll definitely do "Nack" to add full bio-cgroup members to page_cgroup.
> Now, page_cgroup is 40bytes(in 64bit arch.) And all of them are allocated at
> boot time as memmap. (and add member to struct page is much harder ;)
> 
> IIUC, feature for "tracking bio" is just necesary for pages for I/O.
> So, I think it's much better to add misc. information to struct bio not to the page.
> But, if people want to add "small hint" to struct page or struct page_cgroup
> for tracking buffered I/O, I'll give you help as much as I can.
> Maybe using "unused bits" in page_cgroup->flags is a choice with no overhead.

In the case where the bio-cgroup data is allocated dynamically,
   - Sometimes quite a large amount of memory get marked dirty.
     In this case it requires more kernel memory than that of the
     current implementation.
   - The operation is expansive due to memory allocations and exclusive
     controls by such as spinlocks.

In the case where the bio-cgroup data is allocated by delayed allocation, 
  - It makes the operation complicated and expensive, because
    sometimes a bio has to be created in the context of other
    processes, such as aio and swap-out operation.

I'd prefer a simple and lightweight implementation. bio-cgroup only
needs 4bytes unlike memory controller. The reason why bio-cgroup chose
this approach is to minimize the overhead.

Thanks,
Ryo Tsuruta
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list