Messages in this thread | | | Date | Wed, 15 Jun 2016 09:40:27 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH v1 3/3] mm: per-process reclaim |
| |
Hi Johannes,
On Mon, Jun 13, 2016 at 11:06:53AM -0400, Johannes Weiner wrote: > Hi Minchan, > > On Mon, Jun 13, 2016 at 04:50:58PM +0900, Minchan Kim wrote: > > These day, there are many platforms available in the embedded market > > and sometime, they has more hints about workingset than kernel so > > they want to involve memory management more heavily like android's > > lowmemory killer and ashmem or user-daemon with lowmemory notifier. > > > > This patch adds add new method for userspace to manage memory > > efficiently via knob "/proc/<pid>/reclaim" so platform can reclaim > > any process anytime. > > Cgroups are our canonical way to control system resources on a per > process or group-of-processes level. I don't like the idea of adding > ad-hoc interfaces for single-use cases like this. > > For this particular case, you can already stick each app into its own > cgroup and use memory.force_empty to target-reclaim them. > > Or better yet, set the soft limits / memory.low to guide physical > memory pressure, once it actually occurs, toward the least-important > apps? We usually prefer doing work on-demand rather than proactively. > > The one-cgroup-per-app model would give Android much more control and > would also remove a *lot* of overhead during task switches, see this: > https://lkml.org/lkml/2014/12/19/358
I didn't notice that. Thanks for the pointing. I read the thread you pointed out and read memcg code.
Firstly, I thought one-cgroup-per-app model is abuse of memcg but now I feel your suggestion does make sense that it's right direction for control memory from the userspace. Just a concern is that not sure how hard we can map memory management model from global memory pressure to per-app pressure model smoothly.
A question is it seems cgroup2 doesn't have per-cgroup swappiness. Why?
I think we need it in one-cgroup-per-app model.
| |