Re: [RFC] [PATCH 0/4] memcg: Kernel memory accounting.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 14 Oct 2011 17:38:26 -0700
Suleiman Souhlal <ssouhlal@xxxxxxxxxxx> wrote:

> This patch series introduces kernel memory accounting to memcg.
> It currently only accounts for slab.
> 
> With this, kernel memory gets counted in a memcg's usage_in_bytes.
> 
> Slab gets accounted per-page, by using per-cgroup kmem_caches that
> get created the first time an allocation of that type is done by
> that cgroup.
> This means that we only have to do charges/uncharges in the slow
> path of the slab allocator, which should have low performance
> impacts.
> 
> A per-cgroup kmem_cache will appear in slabinfo named like its
> original cache, with the cgroup's name in parenthesis.
> On cgroup deletion, the accounting gets moved to the root cgroup
> and any existing cgroup kmem_cache gets "dead" appended to its
> name, to indicate that its accounting was migrated.
> 
> TODO:
> 	- Per-memcg slab shrinking (we have patches for that already).
> 	- Make it support the other slab allocators.
> 	- Come up with a scheme that does not require holding
> 	  rcu_read_lock in the whole slab allocation path.
> 	- Account for other types of kernel memory than slab.
> 	- Migrate to the parent cgroup instead of root on cgroup
> 	  deletion.
> 

Could you show rough perforamance score ?

For example,
Assume cgroup dir as

  /cgroup/memory <--- root
		|-A  memory.use_hierarchy=1   no limit
		  |-B                         no limit
1) Compare kernel make 'sys time' under root, A, B.
2) run unixbench under root, A, B.

I think you may have some numbers already.

Thanks,
-Kame








--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]