Re: [PATCH v5 0/4] cgroup notifications API and memory thresholds

From: Kirill A. Shutemov
Date: Mon Jan 04 2010 - 05:15:14 EST


On Mon, Jan 4, 2010 at 2:36 AM, Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
> * Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> [2009-12-30 17:57:55]:
>
>> 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?
>
> Hi,
>
> I just saw that the notification work for me using the tool you
> supplied. One strange thing was that I got notified even though
> the amount of data I was using was reducing, so I hit the notification
> two ways
>
> Â Â Â Â+------------+-----------
> Â Â Â Â Â Â Â Â Â Â1G
> Â Â Â Â Â Â Â Â----> (got notified on increase)
> Â Â Â Â Â Â Â Â<---- (got notified on decrease)
>
> I am not against the behaviour, but it can be confusing unless
> clarified with the event.

IIUC, you've got two events. One on crossing the threshold up and
one on crossing it down. It's Ok.

By design, notification means that the threshold probably crossed
(it can be crossed twice -- up and down) or the cgroup was removed.
To understand what really happen you need to check if the cgroup
exists and read current usage of the resource.
--
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/