linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: peter enderborg <peter.enderborg@sonymobile.com>
To: Martijn Coenen <maco@google.com>, John Stultz <john.stultz@linaro.org>
Cc: "Michal Hocko" <mhocko@kernel.org>,
	"Greg KH" <gregkh@linuxfoundation.org>,
	"Arve Hjønnevåg" <arve@android.com>,
	"Riley Andrews" <riandrews@android.com>,
	devel@driverdev.osuosl.org, LKML <linux-kernel@vger.kernel.org>,
	Linux-MM <linux-mm@kvack.org>, "Michal Hocko" <mhocko@suse.com>,
	"Todd Kjos" <tkjos@google.com>,
	"Android Kernel Team" <kernel-team@android.com>,
	"Rom Lemarchand" <romlem@google.com>,
	"Tim Murray" <timmurray@google.com>
Subject: Re: [PATCH] staging, android: remove lowmemory killer from the tree
Date: Fri, 24 Feb 2017 13:19:46 +0100	[thread overview]
Message-ID: <855e929a-a891-a435-8f75-3674d8a3e96d@sonymobile.com> (raw)
In-Reply-To: <CA+_MTtzj9z3JEH528iTjAuNivKo9tNzAx9dwpAJo6U5kgf636g@mail.gmail.com>

On 02/23/2017 09:36 PM, Martijn Coenen wrote:
> On Thu, Feb 23, 2017 at 9:24 PM, John Stultz <john.stultz@linaro.org> wrote:
>> So, just for context, Android does have a userland LMK daemon (using
>> the mempressure notifiers) as you mentioned, but unfortunately I'm
>> unaware of any devices that ship with that implementation.
> I've previously worked on enabling userspace lmkd for a previous
> release, but ran into some issues there (see below).
>
>> This is reportedly because while the mempressure notifiers provide a
>> the signal to userspace, the work the deamon then has to do to look up
>> per process memory usage, in order to figure out who is best to kill
>> at that point was too costly and resulted in poor device performance.
> In particular, mempressure requires memory cgroups to function, and we
> saw performance regressions due to the accounting done in mem cgroups.
> At the time we didn't have enough time left to solve this before the
> release, and we reverted back to kernel lmkd.
>
>> So for shipping Android devices, the LMK is still needed. However, its
>> not critical for basic android development, as the system will
>> function without it.
> It will function, but it most likely will perform horribly (as the
> page cache will be trashed to such a level that the system will be
> unusable).
>
>> Additionally I believe most vendors heavily
>> customize the LMK in their vendor tree, so the value of having it in
>> staging might be relatively low.
>>
>> It would be great however to get a discussion going here on what the
>> ulmkd needs from the kernel in order to efficiently determine who best
>> to kill, and how we might best implement that.
> The two main issues I think we need to address are:
> 1) Getting the right granularity of events from the kernel; I once
> tried to submit a patch upstream to address this:
> https://lkml.org/lkml/2016/2/24/582
> 2) Find out where exactly the memory cgroup overhead is coming from,
> and how to reduce it or work around it to acceptable levels for
> Android. This was also on 3.10, and maybe this has long been fixed or
> improved in more recent kernel versions.
>
> I don't have cycles to work on this now, but I'm happy to talk to
> whoever picks this up on the Android side.
I sent some patches that is different approach. It still uses shrinkers
but it has a kernel part that do the kill part better than the old one
but it does it the android way. The future for this is get it triggered
with other path's than slab shrinker. But we will not continue unless
we get google-android to be part of it. Hocko objected heavy on
the patches but seems not to see that we need something to
do the job before we can disconnect from shrinker.

> Thanks,
> Martijn
>
>> thanks
>> -john


--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2017-02-24 12:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-22 12:01 [PATCH] staging, android: remove lowmemory killer from the tree Michal Hocko
2017-02-23 20:24 ` John Stultz
2017-02-23 20:28   ` Todd Kjos
2017-02-23 20:36   ` Martijn Coenen
2017-02-24  9:34     ` Michal Hocko
2017-02-24 18:38       ` Tim Murray
2017-02-24 18:42         ` Rom Lemarchand
2017-03-04  2:06           ` Tim Murray
2017-02-24 12:19     ` peter enderborg [this message]
2017-02-24 12:28       ` Michal Hocko
2017-02-24 13:16         ` peter enderborg
2017-02-24 14:11           ` Michal Hocko
2017-02-24 14:42             ` peter enderborg
2017-02-24 15:03               ` Michal Hocko
2017-02-24 15:40                 ` peter enderborg
2017-02-24 15:52                   ` Michal Hocko
2017-02-24  9:38   ` Michal Hocko
2017-03-09  9:15 ` Michal Hocko
2017-03-09  9:30   ` Greg KH
2017-03-09 10:00     ` Michal Hocko
2017-03-09 12:48       ` Greg KH

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=855e929a-a891-a435-8f75-3674d8a3e96d@sonymobile.com \
    --to=peter.enderborg@sonymobile.com \
    --cc=arve@android.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=john.stultz@linaro.org \
    --cc=kernel-team@android.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maco@google.com \
    --cc=mhocko@kernel.org \
    --cc=mhocko@suse.com \
    --cc=riandrews@android.com \
    --cc=romlem@google.com \
    --cc=timmurray@google.com \
    --cc=tkjos@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).