lkml.org 
[lkml]   [2009]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] NOOP cgroup subsystem
    On Fri, 09 Jan 2009 14:14:55 +0800
    Li Zefan <lizf@cn.fujitsu.com> wrote:

    > KAMEZAWA Hiroyuki wrote:
    > > How about this idea ? Any comments are welcome.
    > >
    > > -Kame
    > >
    > > ==
    > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    > >
    > > Add an NO OPERATION cgroup subsystem.
    > >
    > > Cgroup itself is providing a feature to attach a task(PID) to some class.
    > > This feature itself is very useful but "no operation" cgroup is not supported
    > > now other than debug cgroup. (But debug cgroup should be for DEBUG. distro
    > > may not configure it.)
    > >
    >
    > Then how can we make sure distro will configure this noop subsys. :)
    >
    I'll ask ;) or set default to y. (because there is almost no overhead.)

    > Or we can make the debug subsys always configured if CONFIG_CGROUP=y ?
    > The debug system adds no runtime overhead, and it's about 100 lines
    > of code only.
    >
    I considered that at fist. I wrote this for 2 reasones.
    - Name of "debug" is no suitable for general use.
    - I wonder I can add some more debug support to debug cgroup like fault
    injection. For example,

    Add an create_may_fail file to debug cgroup.
    # echo 1 > debug.create_may_fail

    When create_may_fail is "1", debug->create() will fail at 50% of probability.
    (to make this test more useful, we should move debug_cgroup's subsys id to
    be more higher.)
    I'd like to add this kind of debug feature to debug cgroup when memcg is settled.

    -Kame

    > > Motivation: Simply classify Applications by cgroup
    > > When using cgroup for classifying applications, some kind of "control" or
    > > "account" subsys must be used. For flexible use of cgroup's nature of
    > > classifying applications, NOOP is useful. It can be used regardless of
    > > resource accounting unit or name spaces or some controls.
    > > IOW, NOOP cgroup allows users to tie PIDs with some nickname.
    > >
    > > After this, application can be checked whether it's still alive or not by
    > >
    > > mount -t cgroup none /var/apps noop
    > > mkdir /var/apps/mydaemon
    > > echo 0 > /var/apps/mydaemon
    > > /etc/init.d/mydaemon start
    > > exit
    > >
    > > This can be used as the same technique of "recording pid into /var/run/xxx.pid"
    > > and not necessary to remove stale files. If mydaemon dies, tasks file will
    > > be empty and notify_on_release handler can be used.
    > >
    > > I myself want to use this for replacement of "ps -elf | grep" if libcgroup supports
    > > ps under cgroup.
    > >
    > > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    >



    \
     
     \ /
      Last update: 2009-01-09 07:29    [W:0.035 / U:8.916 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site