[PATCH v1 0/3] per-process reclaim

From: Minchan Kim
Date: Mon Jun 13 2016 - 03:51:15 EST


Hi all,

http://thread.gmane.org/gmane.linux.kernel/1480728

I sent per-process reclaim patchset three years ago. Then, last
feedback from akpm was that he want to know real usecase scenario.

Since then, I got question from several embedded people of various
company "why it's not merged into mainline" and heard they have used
the feature as in-house patch and recenlty, I noticed android from
Qualcomm started to use it.

Of course, our product have used it and released it in real procuct.

Quote from Sangwoo Park <angwoo2.park@xxxxxxx>
Thanks for the data, Sangwoo!
"
- Test scenaro
- platform: android
- target: MSM8952, 2G DDR, 16G eMMC
- scenario
retry app launch and Back Home with 16 apps and 16 turns
(total app launch count is 256)
- result:
resume count | cold launching count
-----------------------------------------------------------------
vanilla | 85 | 171
perproc reclaim | 184 | 72
"

Higher resume count is better because cold launching needs loading
lots of resource data which takes above 15 ~ 20 seconds for some
games while successful resume just takes 1~5 second.

As perproc reclaim way with new management policy, we could reduce
cold launching a lot(i.e., 171-72) so that it reduces app startup
a lot.

Another useful function from this feature is to make swapout easily
which is useful for testing swapout stress and workloads.

Thanks.

Cc: Redmond <u93410091@xxxxxxxxx>
Cc: ZhaoJunmin Zhao(Junmin) <zhaojunmin@xxxxxxxxxx>
Cc: Vinayak Menon <vinmenon@xxxxxxxxxxxxxx>
Cc: Juneho Choi <juno.choi@xxxxxxx>
Cc: Sangwoo Park <sangwoo2.park@xxxxxxx>
Cc: Chan Gyun Jeong <chan.jeong@xxxxxxx>

Minchan Kim (3):
mm: vmscan: refactoring force_reclaim
mm: vmscan: shrink_page_list with multiple zones
mm: per-process reclaim

Documentation/filesystems/proc.txt | 15 ++++
fs/proc/base.c | 1 +
fs/proc/internal.h | 1 +
fs/proc/task_mmu.c | 149 +++++++++++++++++++++++++++++++++++++
include/linux/rmap.h | 4 +
mm/vmscan.c | 85 ++++++++++++++++-----
6 files changed, 235 insertions(+), 20 deletions(-)

--
1.9.1