Re: [PATCH v4] vmevent: Implement greater-than attribute state andone-shot mode

From: Minchan Kim
Date: Wed May 02 2012 - 01:04:01 EST


On 05/02/2012 12:31 PM, Anton Vorontsov wrote:

> Hello KOSAKI,
>
> On Tue, May 01, 2012 at 09:20:27PM -0400, KOSAKI Motohiro wrote:
> [...]
>>> 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.
>
> What makes you think that vmevent won't work for desktop or servers?
> :-)
>
> E.g. for some servers you don't always want memcg, really. Suppose,
> a kvm farm or a database server. Sometimes there's really no need for
> the memcg, but there's still a demand for low memory notifications.
>
> Current Linux desktops don't use any notifications at all, I think.
> So nothing to say about, neither on cgroup's nor on vmevent's behalf.
> I hardly imagine why desktop would use the whole memcg thing, but
> still have a use case for memory notifications.
>
>> We have to consider the best design before kernel inclusion. They cann't
>> be separeted to discuss.
>
> Of course, no objections here. But I somewhat disagree with the
> "best design" term. Which design is better, reading a file via
> read() or mmap()? It depends. Same here.


I think hardest problem in low mem notification is how to define _lowmem situation_.
We all guys (server, desktop and embedded) should reach a conclusion on define lowmem situation
before progressing further implementation because each part can require different limits.
Hopefully, I want it.

What is the best situation we can call it as "low memory"?

As a matter of fact, if we can define it well, I think even we don't need vmevent ABI.
In my opinion, it's not easy to generalize each use-cases so we can pass it to user space and
just export low attributes of vmstat in kernel by vmevent.
Userspace program can determine low mem situation well on his environment with other vmstats
when notification happens. Of course, it has a drawback that userspace couples kernel's vmstat
but at least I think that's why we need vmevent for triggering event when we start watching carefully.


--
Kind regards,
Minchan Kim
--
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/