[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cc557aab0912271037scb29fe1xcebe9adfaea97b24@mail.gmail.com>
Date: Sun, 27 Dec 2009 20:37:57 +0200
From: "Kirill A. Shutemov" <kirill@...temov.name>
To: balbir@...ux.vnet.ibm.com
Cc: containers@...ts.linux-foundation.org, linux-mm@...ck.org,
Paul Menage <menage@...gle.com>,
Li Zefan <lizf@...fujitsu.com>,
Andrew Morton <akpm@...ux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Pavel Emelyanov <xemul@...nvz.org>,
Dan Malek <dan@...eddedalley.com>,
Vladislav Buzov <vbuzov@...eddedalley.com>,
Daisuke Nishimura <nishimura@....nes.nec.co.jp>,
Alexander Shishkin <virtuoso@...nd.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 0/4] cgroup notifications API and memory thresholds
On Sun, Dec 27, 2009 at 2:47 PM, Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> * Kirill A. Shutemov <kirill@...temov.name> [2009-12-27 04:08:58]:
>
>> This patchset introduces eventfd-based API for notifications in cgroups and
>> implements memory notifications on top of it.
>>
>> It uses statistics in memory controler to track memory usage.
>>
>> Output of time(1) on building kernel on tmpfs:
>>
>> Root cgroup before changes:
>> make -j2 506.37 user 60.93s system 193% cpu 4:52.77 total
>> Non-root cgroup before changes:
>> make -j2 507.14 user 62.66s system 193% cpu 4:54.74 total
>> Root cgroup after changes (0 thresholds):
>> make -j2 507.13 user 62.20s system 193% cpu 4:53.55 total
>> Non-root cgroup after changes (0 thresholds):
>> make -j2 507.70 user 64.20s system 193% cpu 4:55.70 total
>> Root cgroup after changes (1 thresholds, never crossed):
>> make -j2 506.97 user 62.20s system 193% cpu 4:53.90 total
>> Non-root cgroup after changes (1 thresholds, never crossed):
>> make -j2 507.55 user 64.08s system 193% cpu 4:55.63 total
>>
>> Any comments?
>
> Thanks for adding the documentation, now on to more critical questions
>
> 1. Any reasons for not using cgroupstats?
Could you explain the idea? I don't see how cgroupstats applicable for
the task.
> 2. Is there a user space test application to test this code.
Attached. It's not very clean, but good enough for testing propose.
Example of usage:
$ echo '/cgroups/memory.usage_in_bytes 1G' | ./cgroup_event_monitor
> IIUC,
> I need to write a program that uses eventfd(2) and then passes
> the eventfd descriptor and thresold to cgroup.*event* file and
> then the program will get notified when the threshold is reached?
You need to pass eventfd descriptor, descriptor of control file to be
monitored (memory.usage_in_bytes or memory.memsw.usage_in_bytes) and
threshold.
Do you want to rename cgroup.event_control to cgroup.event?
Download attachment "cgroup_event_monitor.c" of type "application/octet-stream" (2185 bytes)
Powered by blists - more mailing lists