mm: LKSM: lightweight memory deduplication for embedded devices 96/239596/12
authorSung-hun Kim <sfoon.kim@samsung.com>
Thu, 16 Jul 2020 00:05:12 +0000 (09:05 +0900)
committerSung-hun Kim <sfoon.kim@samsung.com>
Wed, 12 Aug 2020 06:22:20 +0000 (15:22 +0900)
commita816dd1c1784adc294cd213a1cd1d5b31b65738e
tree2cc4f48666baeaf9074dbfb0307a7db0f1d1bb8e
parentb19fee00c05202e01af769209a8c8900a1209dbc
mm: LKSM: lightweight memory deduplication for embedded devices

Lightweight KSM (in short, LKSM) is a variant of KSM that is implemented in
a fully event-triggered manner. LKSM provides a memory deduplication facility
like vanilla KSM while it extremely reduces overhead.

Normally, LKSM is blocked and waits for incoming deduplication requests from
user-level process (e.g., resourced). When a user-level process submits
deduplication request via sysfs, LKSM performs requested-level of deduplication,
such as partial and full deduplications.
After that, LKSM is going to sleep again and waits for next request coming.

By doing so, LKSM mitigates side effects that impact on system performance,
for instance, occupying system resources such as CPU and incurring cache
pollutions.

Change-Id: I551feb45d8c59ccddea60ced96225780d50e1c43
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
include/linux/ksm.h
kernel/freezer.c
mm/lksm.c