mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 07:31:29 +00:00
363106c4ce
reuse_swap_page() currently indicates if we can write to an anon page
without COW. A COW is required if the page is shared by multiple
processes (either already mapped or via swap entries) or if there is
concurrent writeback that cannot tolerate concurrent page modifications.
However, in the context of khugepaged we're not actually going to write to
a read-only mapped page, we'll copy the page content to our newly
allocated THP and map that THP writable. All we have to make sure is that
the read-only mapped page we're about to copy won't get reused by another
process sharing the page, otherwise, page content would get modified. But
that is already guaranteed via multiple mechanisms (e.g., holding a
reference, holding the page lock, removing the rmap after copying the
page).
The swapcache handling was introduced in commit
|
||
---|---|---|
.. | ||
events | ||
stages | ||
bpf_probe.h | ||
define_custom_trace.h | ||
define_trace.h | ||
perf.h | ||
syscall.h | ||
trace_custom_events.h | ||
trace_events.h |