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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
Date: Fri, 17 Apr 2009 11:24:33 +0900

> On Fri, 17 Apr 2009 10:49:43 +0900
> Takuya Yoshikawa <yoshikawa.takuya@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux