mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
Documentation: zram: update IDLE pages tracking documentation
Move IDLE pages tracking into a separate chapter because there are multiple features that use (or depend on) it either in built-in variant ("mark all") or in extended variant (ac-time tracking). In addition, recompression doesn't require memory tracking to be enabled in order to be able to perform idle recompression. Link: https://lkml.kernel.org/r/20250416042833.3858827-1-senozhatsky@chromium.org Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> Reported-by: Shin Kawamura <kawasin@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Minchan Kim <minchan@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
4a34c584d8
commit
b05f8d7e07
|
@ -317,6 +317,26 @@ a single line of text and contains the following stats separated by whitespace:
|
|||
Optional Feature
|
||||
================
|
||||
|
||||
IDLE pages tracking
|
||||
-------------------
|
||||
|
||||
zram has built-in support for idle pages tracking (that is, allocated but
|
||||
not used pages). This feature is useful for e.g. zram writeback and
|
||||
recompression. In order to mark pages as idle, execute the following command::
|
||||
|
||||
echo all > /sys/block/zramX/idle
|
||||
|
||||
This will mark all allocated zram pages as idle. The idle mark will be
|
||||
removed only when the page (block) is accessed (e.g. overwritten or freed).
|
||||
Additionally, when CONFIG_ZRAM_TRACK_ENTRY_ACTIME is enabled, pages can be
|
||||
marked as idle based on how many seconds have passed since the last access to
|
||||
a particular zram page::
|
||||
|
||||
echo 86400 > /sys/block/zramX/idle
|
||||
|
||||
In this example, all pages which haven't been accessed in more than 86400
|
||||
seconds (one day) will be marked idle.
|
||||
|
||||
writeback
|
||||
---------
|
||||
|
||||
|
@ -331,24 +351,7 @@ If admin wants to use incompressible page writeback, they could do it via::
|
|||
|
||||
echo huge > /sys/block/zramX/writeback
|
||||
|
||||
To use idle page writeback, first, user need to declare zram pages
|
||||
as idle::
|
||||
|
||||
echo all > /sys/block/zramX/idle
|
||||
|
||||
From now on, any pages on zram are idle pages. The idle mark
|
||||
will be removed until someone requests access of the block.
|
||||
IOW, unless there is access request, those pages are still idle pages.
|
||||
Additionally, when CONFIG_ZRAM_TRACK_ENTRY_ACTIME is enabled pages can be
|
||||
marked as idle based on how long (in seconds) it's been since they were
|
||||
last accessed::
|
||||
|
||||
echo 86400 > /sys/block/zramX/idle
|
||||
|
||||
In this example all pages which haven't been accessed in more than 86400
|
||||
seconds (one day) will be marked idle.
|
||||
|
||||
Admin can request writeback of those idle pages at right timing via::
|
||||
Admin can request writeback of idle pages at right timing via::
|
||||
|
||||
echo idle > /sys/block/zramX/writeback
|
||||
|
||||
|
@ -499,8 +502,6 @@ attempt to recompress:::
|
|||
|
||||
echo "type=huge_idle max_pages=42" > /sys/block/zramX/recompress
|
||||
|
||||
Recompression of idle pages requires memory tracking.
|
||||
|
||||
During re-compression for every page, that matches re-compression criteria,
|
||||
ZRAM iterates the list of registered alternative compression algorithms in
|
||||
order of their priorities. ZRAM stops either when re-compression was
|
||||
|
|
Loading…
Reference in New Issue
Block a user