Messages in this thread | | | Date | Fri, 17 Apr 2009 17:51:40 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH 3/9] bio-cgroup controller |
| |
On Fri, 17 Apr 2009 17:48:54 +0900 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> On Fri, 17 Apr 2009 17:00:16 +0900 > KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > > > On Fri, 17 Apr 2009 16:22:01 +0900 (JST) > > Ryo Tsuruta <ryov@valinux.co.jp> wrote: > > > > > 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. > > > > > My point is, plz do your best to reduce memory usage here. You increase > > size of page_cgroup just because you cannot increase size of struct page. > > It's not be sane reason to increase size of this object. > > It's a cheat in my point of view. > > > > Can't this work sanely ? > Hmm, endian is obstacle ? > == > sturct page_cgroup { > union { > struct { > unsigned long memcg_field:16; > unsigned long blockio_field:16; > } field; > unsigned long flags; /* unsigned long is not 32bits */ > } flags; > } > == > ....sorry plz ignore. -Kame
| |