lkml.org 
[lkml]   [2009]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 3/9] bio-cgroup controller
    From
    Hi,

    From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@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@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


    \
     
     \ /
      Last update: 2009-04-17 09:25    [W:4.233 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site