mm: LKSM: lightweight memory deduplication for embedded devices
authorSung-hun Kim <sfoon.kim@samsung.com>
Thu, 16 Jul 2020 00:05:12 +0000 (09:05 +0900)
committerHoegeun Kwon <hoegeun.kwon@samsung.com>
Mon, 7 Feb 2022 08:01:41 +0000 (17:01 +0900)
commit7088a0a3af29e8bc4c01568625b7bba52a94050d
tree6f856ea56baf9bb362b5cd6f55c5143fa8c9d166
parent31c14374cad23dd3598b7da4751bc319d8809e12
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