[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090417.162201.183038478.ryov@valinux.co.jp>
Date: Fri, 17 Apr 2009 16:22:01 +0900 (JST)
From: Ryo Tsuruta <ryov@...inux.co.jp>
To: kamezawa.hiroyu@...fujitsu.com
Cc: yoshikawa.takuya@....ntt.co.jp, righi.andrea@...il.com,
menage@...gle.com, balbir@...ux.vnet.ibm.com,
guijianfeng@...fujitsu.com, agk@...rceware.org,
akpm@...ux-foundation.org, axboe@...nel.dk, baramsori72@...il.com,
chlunde@...g.uio.no, dave@...ux.vnet.ibm.com, dpshah@...gle.com,
eric.rannaud@...il.com, fernando@....ntt.co.jp, taka@...inux.co.jp,
lizf@...fujitsu.com, matt@...ehost.com, dradford@...ehost.com,
ngupta@...gle.com, randy.dunlap@...cle.com, roberto@...it.it,
s-uchida@...jp.nec.com, subrata@...ux.vnet.ibm.com,
containers@...ts.linux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/9] bio-cgroup controller
Hi,
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Date: Fri, 17 Apr 2009 11:24:33 +0900
> On Fri, 17 Apr 2009 10:49:43 +0900
> Takuya Yoshikawa <yoshikawa.takuya@....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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists