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>
Tue, 30 Mar 2021 01:40:01 +0000 (10:40 +0900)
commiteefb7ca9b76afa1692a095bd87447eb456ba24ef
treebf2e424c3279fe57398772ff129399df9d51bf83
parent9ccd7c757a88ebc1ad910d14a26d821ca887b67c
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