[dm-devel] Re: [PATCH 4/8] bio-cgroup: Split the cgroup memory subsystem into two parts

Hirokazu Takahashi taka at valinux.co.jp
Thu Sep 25 01:46:34 PDT 2008


> I posted new ones.
>  - http://lkml.org/lkml/2008/9/25/33 
>  (changes in page_cgroup) http://lkml.org/lkml/2008/9/25/56
> (I'm not sure this gets Ack or Nack. but direction will not change.)
> Then, please tell me if you have new troubles with new ones.
> Or if you have requests.
> Major changes are
>   - page_cgroup.h is added.
>   - lookup_page_cgroup(struct page*), lock_page_cgroup() etc.. is exported.
>   - All page_cgroup are allocated at boot.
>   - you can use atomic operation to modify page_cgroup->flags.

Good new!

> One concern from me to this bio_cgroup is that this increases size of
> +	struct list_head blist;		/* for bio_cgroup page list */
> +	struct bio_cgroup *bio_cgroup;
> +#endif
> struct page_cgroup...more 24bytes per 4096bytes.
> Could you reduce this ? I think 8bytes per memcg is reasonable.
> Can you move lru to bio itself ?

I have a plan on getting rid of the blist after your work is done,
whose design will depend on that all page_cgroups are preallocated.
I also think the size of bio_cgroup can be reduced if making bio_cgroup
contain a bio-cgroup ID instead of the pointer.

Just wait! :)

> This makes page_cgroup to be 64bytes from 40bytes and makes it larger
> than mem_map....
> After bio_cgroup, page_cgroup, allocated at boot, size on my 48GB box 
> will jump up.
> 480MB -> 760MB.
> Thanks,
> -Kame

More information about the Containers mailing list