> 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?) signalfd? > - 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 I like multiple threshold and per-thresold file-descriptor. it solve multiple waiters issue. but How about this? /cgroup /group1 /notifications /threashold-A /threashold-B _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers