[PATCH] Memory usage limit notification addition to memcg

Dan Malek dan at embeddedalley.com
Mon Apr 13 16:45:17 PDT 2009


OK, I'll rewrite and resubmit the patch with suggested updates.
Comments below...

On Apr 13, 2009, at 4:08 PM, Andrew Morton wrote:

> We've run into problems in the past where a percentage number is too
> coarse on large-memory systems.
>
> Proabably that won't be an issue here, but I invite you to convince us
> of this ;)

The challenge here is that the absolute limit of the memcg can
be dynamically changed, so I wanted to avoid a couple of problems.
One is just a system configuration error where someone forgets
to modify both.  For example, if you start with the memcg limit of 100M,
and the notification limit to 80M, then come back and change the memcg
limit to 90M (or worse, < 80M) you now have a clearly incorrect
configuration.   Another problem is the operation isn't atomic, at some
point during the changes, even if you remember to do it correctly, you
will have the two values not representing what you really want.  It
could trigger an erroneous notification, or simply OOM kill before you
get the configuration correct.

If an integer number turns out to not be sufficient, we could change  
this
to some fixed point representation and adjust the arithmetic in the  
tests.
I believe the integer number will be fine, even in large memory systems.
This is just a notification model, if we want something more fine  
grained
I believe it would need different semantics.

> Does it support select()/poll()/eventfd()/etc?

No.  Unfortunately this is a cgroup implementation limitation.
My TODO list includes updating cgroups to allow this, using
this notification as an example.

> Stylistic trick: here, please add

Will do, including some others to get rid of ifdefs.

> ifdefs-in-c make kernel developers sad.

I know.  I'll make them go away.

I'll fix it up and resubmit shortly.

Thanks.

	-- Dan



More information about the Containers mailing list