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

From: Balbir Singh
Date: Wed Jul 15 2009 - 02:03:16 EST


* menage@xxxxxxxxxx <menage@xxxxxxxxxx> [2009-07-13 15:15:45]:

> On Tue, Jul 7, 2009 at 5:56 PM, KAMEZAWA
> Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx> 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?
>

Please don't forget netlink, we've already got a genetlink socket for
cgroups in the form og cgroupstats.

> - 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

--
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/