On 05/01/2012 09:18 AM, Anton Vorontsov wrote:
This patch implements a new event type, it will trigger whenever a value becomes greater than user-specified threshold, it complements the 'less-then' trigger type.
Also, let's implement the one-shot mode for the events, when set, userspace will only receive one notification per crossing the boundaries.
Now when both LT and GT are set on the same level, the event type works as a cross event type: it triggers whenever a value crosses the threshold from a lesser values side to a greater values side, and vice versa.
We use the event types in an userspace low-memory killer: we get a notification when memory becomes low, so we start freeing memory by killing unneeded processes, and we get notification when memory hits the threshold from another side, so we know that we freed enough of memory.
How are these vmevents supposed to work with cgroups?
What do we do when a cgroup nears its limit, and there is no more swap space available?
What do we do when a cgroup nears its limit, and there is swap space available?
It would be nice to be able to share the same code for embedded, desktop and server workloads...