[PATCH 3/9] bio-cgroup controller

KAMEZAWA Hiroyuki kamezawa.hiroyu at jp.fujitsu.com
Fri Apr 17 01:48:54 PDT 2009


On Fri, 17 Apr 2009 17:00:16 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com> wrote:

> On Fri, 17 Apr 2009 16:22:01 +0900 (JST)
> Ryo Tsuruta <ryov at 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;
	}
==

Thanks,
-Kame







More information about the Containers mailing list