Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756508AbYGRXJC (ORCPT ); Fri, 18 Jul 2008 19:09:02 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754282AbYGRXIv (ORCPT ); Fri, 18 Jul 2008 19:08:51 -0400 Received: from fgwmail6.fujitsu.co.jp ([192.51.44.36]:49509 "EHLO fgwmail6.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760674AbYGRXIt (ORCPT ); Fri, 18 Jul 2008 19:08:49 -0400 From: kamezawa.hiroyu@jp.fujitsu.com Message-ID: <9406923.1216422307592.kamezawa.hiroyu@jp.fujitsu.com> Date: Sat, 19 Jul 2008 08:05:07 +0900 (JST) To: Paul Menage Subject: Re: Re: [RFC] How to handle the rules engine for cgroups Cc: KAMEZAWA Hiroyuki , Vivek Goyal , linux kernel mailing list , Libcg Devel Mailing List , Balbir Singh , Dhaval Giani , Peter Zijlstra , Kazunaga Ikeno , Morton Andrew Morton In-Reply-To: <6599ad830807180846n11260adft168bddf7c203469c@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: @nifty Webmail 2.0 References: <6599ad830807180846n11260adft168bddf7c203469c@mail.gmail.com> <20080701191126.GA17376@redhat.com> <20080718185226.f809281d.kamezawa.hiroyu@jp.fujitsu.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1786 Lines: 48 ----- Original Message ----- >On Fri, Jul 18, 2008 at 2:52 AM, KAMEZAWA Hiroyuki > wrote: >> >> For example, create a new file under memory cgroup >> == >> /opt/memory_cgroup/group_A/notify_at_memory_reach_limit >> == >> And a user watches the file by inotify. >> The kernel modify modified-time of notify_at_memory_reach_limit file and ca ll >> fs/notify_user.c::notify_change() against this inode. He can catchthe event >> by inotify. >> (I think he can also catch removal of this file, etc...) >> > >We've been doing something like this to handle OOMs in userspace, with >pretty good success. The approach that we used so far was a custom >control file tied to a wait queue, that gets woken when a cgroup >triggers OOM, but it's a bit hacky. I've been considering some kind of >more generic approach that could be reused by different subsystems for >other notifications, maybe using eventfd or maybe netlink. > Hmm, eventfd is AIO's one ? Anyway I agree we need something generic. (hopefully, reuse existing one.) >inotify would be an option too, but that seems like it might be >forcing ourselves into filesystem semantics too much. > At quick glance, Inotify's good points are - can be used for any file. for example, even changes in "tasks" file can be cathced if it modify modified-time. - It can be queued. - It supports ONESHOT, NONBLOCK, etc... - All memory allocation is done by the waiter (the user). But yes, we cannot notify other events than "there is some change". Thanks, -Kame >Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/