From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: Anton Vorontsov <anton.vorontsov@linaro.org>
Cc: Rik van Riel <riel@redhat.com>, Pekka Enberg <penberg@kernel.org>,
Leonid Moiseichuk <leonid.moiseichuk@nokia.com>,
John Stultz <john.stultz@linaro.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linaro-kernel@lists.linaro.org, patches@linaro.org,
kernel-team@android.com, Glauber Costa <glommer@parallels.com>,
kamezawa.hiroyu@jp.fujitsu.com,
Suleiman Souhlal <suleiman@google.com>,
kosaki.motohiro@gmail.com
Subject: Re: [PATCH v4] vmevent: Implement greater-than attribute state and one-shot mode
Date: Tue, 01 May 2012 21:20:27 -0400 [thread overview]
Message-ID: <4FA08BDB.1070009@gmail.com> (raw)
In-Reply-To: <20120502002026.GA3334@lizard>
(5/1/12 8:20 PM), Anton Vorontsov wrote:
> Hello Rik,
>
> Thanks for looking into this!
>
> On Tue, May 01, 2012 at 05:04:21PM -0400, Rik van Riel wrote:
>> 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?
>
> Currently these are independent subsystems, if you have memcg enabled,
> you can do almost anything* with the memory, as memg has all the needed
> hooks in the mm/ subsystem (it is more like "memory management tracer"
> nowadays :-).
>
> But cgroups have its cost, both performance penalty and memory wastage.
> For example, in the best case, memcg constantly consumes 0.5% of RAM to
> track memory usage, this is 5 MB on a 1 GB "embedded" machine. To some
> people it feels just wrong to waste that memory for mere notifications.
>
> Of course, this alone can be considered as a lame argument for making
> another subsystem (instead of "fixing" the current one). But see below,
> vmevent is just a convenient ABI.
>
>> 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?
>
> As of now, this is all orthogonal to vmevent. Vmevent doesn't know
> about cgroups. If kernel has the memcg enabled, one should probably*
> go with it (or better, with its ABI). At least for now.
>
>> It would be nice to be able to share the same code for
>> embedded, desktop and server workloads...
>
> It would be great indeed, but so far I don't see much that
> vmevent could share. Plus, sharing the code at this point is not
> that interesting; it's mere 500 lines of code (comparing to
> more than 10K lines for cgroups, and it's not including memcg_
> hooks and logic that is spread all over mm/).
>
> Today vmevent code is mostly an ABI implementation, there is
> very little memory management logic (in contrast to the memcg).
But, if it doesn't work desktop/server area, it shouldn't be merged.
We have to consider the best design before kernel inclusion. They cann't
be separeted to discuss.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2012-05-02 1:20 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-18 8:32 [PATCH v2 0/2] vmevent: Greater-than attribute + one-shot mode + a bugfix Anton Vorontsov
2012-04-18 8:33 ` [PATCH 1/2] vmevent: Should not grab mutex in the atomic context Anton Vorontsov
2012-04-18 20:01 ` Pekka Enberg
2012-04-18 8:35 ` [PATCH 2/2] vmevent: Implement greater-than attribute and one-shot mode Anton Vorontsov
2012-04-18 20:01 ` Pekka Enberg
2012-04-18 22:46 ` Anton Vorontsov
2012-04-19 5:42 ` Pekka Enberg
2012-04-19 16:29 ` [PATCH v3 " Anton Vorontsov
2012-05-01 13:18 ` [PATCH v4] vmevent: Implement greater-than attribute state " Anton Vorontsov
2012-05-01 21:04 ` Rik van Riel
2012-05-02 0:20 ` Anton Vorontsov
2012-05-02 1:20 ` KOSAKI Motohiro [this message]
2012-05-02 3:31 ` Anton Vorontsov
2012-05-02 3:50 ` Anton Vorontsov
2012-05-02 5:04 ` Minchan Kim
2012-05-02 6:46 ` leonid.moiseichuk
2012-05-02 6:57 ` Pekka Enberg
2012-05-02 7:41 ` Minchan Kim
2012-05-02 6:51 ` Pekka Enberg
2012-05-03 10:52 ` Pekka Enberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FA08BDB.1070009@gmail.com \
--to=kosaki.motohiro@gmail.com \
--cc=anton.vorontsov@linaro.org \
--cc=glommer@parallels.com \
--cc=john.stultz@linaro.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kernel-team@android.com \
--cc=leonid.moiseichuk@nokia.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=patches@linaro.org \
--cc=penberg@kernel.org \
--cc=riel@redhat.com \
--cc=suleiman@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).