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>
Thu, 3 Aug 2023 08:46:06 +0000 (17:46 +0900)
commit6420e30aba55153c595354807f0a1a00785a5cc9
tree96bb63b1fcb97c8a75767a164444db4e8a22d6c4
parentee138c237f5bd26210dcfbdb7817314f6d6ff4ac
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