Thread (113 messages) 113 messages, 8 authors, 2012-08-22

Re: [PATCH v2 04/11] kmem accounting basic infrastructure

From: Glauber Costa <hidden>
Date: 2012-08-13 08:39:59
Also in: linux-mm, lkml

On 08/10/2012 09:02 PM, Kamezawa Hiroyuki wrote:
(2012/08/09 22:01), Glauber Costa wrote:
quoted
This patch adds the basic infrastructure for the accounting of the slab
caches. To control that, the following files are created:

  * memory.kmem.usage_in_bytes
  * memory.kmem.limit_in_bytes
  * memory.kmem.failcnt
  * memory.kmem.max_usage_in_bytes

They have the same meaning of their user memory counterparts. They
reflect the state of the "kmem" res_counter.

The code is not enabled until a limit is set. This can be tested by the
flag "kmem_accounted". This means that after the patch is applied, no
behavioral changes exists for whoever is still using memcg to control
their memory usage.

We always account to both user and kernel resource_counters. This
effectively means that an independent kernel limit is in place when the
limit is set to a lower value than the user memory. A equal or higher
value means that the user limit will always hit first, meaning that kmem
is effectively unlimited.

People who want to track kernel memory but not limit it, can set this
limit to a very high number (like RESOURCE_MAX - 1page - that no one
will ever hit, or equal to the user memory)

Signed-off-by: Glauber Costa <redacted>
CC: Michal Hocko <redacted>
CC: Johannes Weiner <redacted>
Reviewed-by: Kamezawa Hiroyuki <redacted>
Could you add  a patch for documentation of this new interface and a text
explaining the behavior of "kmem_accounting" ?

Hm, my concern is the difference of behavior between user page accounting and
kmem accounting...but this is how tcp-accounting is working.

Once you add Documentation, it's okay to add my Ack.
I plan to add documentation in a separate patch. Due to that, can I add
your ack to this patch here?

Also, I find that the description text in patch0 grew to be quite
informative and complete. I plan to add that to the documentation
if that is ok with you
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help