[PATCH 1/1] Memory usage limit notification addition to memcg

Paul Menage menage at google.com
Mon Jul 13 15:15:45 PDT 2009


On Tue, Jul 7, 2009 at 5:56 PM, KAMEZAWA
Hiroyuki<kamezawa.hiroyu at jp.fujitsu.com> wrote:
>
> I know people likes to wait for file descriptor to get notification in these days.
> Can't we have "event" file descriptor in cgroup layer and make it reusable for
> other purposes ?

I agree - rather than having to add a separate "wait for value to
cross X threshold" file for each numeric usage value that people might
be concerned about, it would be better to have a generic way to do it
for any file. Given that this is a userspace API, it would be better
to work out at least the generic API first, even if the initial
implementation isn't generic.

Properties that it should support include:

- notification when a value crosses above or below a given threshold
(which would include binary cases such as OOM notification where the
value cross from "not-OOM" to "OOM"

- independent thresholds for different waiters

- epoll support (by using eventfd?)

- automatic wakeup when a cgroup is removed

- maybe optional wakeup when a thread attach occurs?

- not require more than read permissions on the file containing the
value being monitored

I guess there are a few possible ways this could be exposed to userspace:

1) new ioctl on cgroups files. simple but probably not popular

2) new system call. maybe the cleanest, but involves changing every
arch and is hard to script

3) new per-cgroup file to control these e.g:
  - create an eventfd
  - open the control file to be monitored
  - write the "<event_fd>, <control_fd> <threshold> to
cgroup.event_control to link them together
flexible and scriptable but maybe a clumsy interface in general

Paul


More information about the Containers mailing list