Lines Matching +full:secondary +full:- +full:device

2 zram: Compressed RAM-based block devices
8 The zram module creates RAM-based block devices named /dev/zram<id>
20 There are several ways to configure and manage zram device(-s):
23 b) using zramctl utility, provided by util-linux (util-linux@vger.kernel.org).
28 In order to get a better idea about zramctl please consult util-linux
29 documentation, zramctl man-page or `zramctl --help`. Please be informed
30 that zram maintainers do not develop/maintain util-linux or zramctl, should
31 you have any questions please contact util-linux@vger.kernel.org
45 -EBUSY an attempt to modify an attribute that cannot be changed once
46 the device has been initialised. Please reset device first.
47 -ENOMEM zram was not able to allocate enough memory to fulfil your
49 -EINVAL invalid input has been provided.
50 -EAGAIN re-try operation later (e.g. when attempting to run recompress
58 if [ $? -ne 0 ]; then
74 pre-created. Default: 1.
79 Using comp_algorithm device attribute one can see available and
81 or change the selected compression algorithm (once the device is initialised
100 tweaked for particular dataset. ZRAM has an `algorithm_params` device
101 attribute which provides a per-algorithm params configuration.
104 In addition, certain compression algorithms support pre-trained dictionaries,
106 compression algorithm to use external pre-trained dictionary, pass full
109 #pass path to pre-trained zstd dictionary
116 #pass path to pre-trained zstd dictionary and compression level
120 Parameters are algorithm specific: not all algorithms support pre-trained
180 zram provides a control interface, which enables dynamic (on-demand) device
183 In order to add a new /dev/zramX device, perform a read operation on the hot_add
184 attribute. This will return either the new device's device id (meaning that you
189 cat /sys/class/zram-control/hot_add
192 To remove the existing /dev/zramX device (where X is a device id)
195 echo X > /sys/class/zram-control/hot_remove
200 Per-device statistics are exported as various nodes under /sys/block/zram<id>/
202 A brief description of exported device attributes follows. For more details
203 please read Documentation/ABI/testing/sysfs-block-zram.
208 disksize RW show and set the device's disk size
209 initstate RO shows the initialization state of the device
210 reset WO trigger device reset
215 can write out to backing device as 4KB unit
226 User space is advised to use the following files to read the device statistics.
235 The stat file represents device's I/O statistics not accounted by block
243 invalid_io The number of non-page-size-aligned I/O requests
244 notify_free Depending on device usage scenario it may account
250 sent to a swap block device when a swap slot is freed,
260 The mm_stat file represents the device's mm statistics. It consists of a single
285 The bd_stat file represents a device's backing device statistics. It consists of
289 bd_count size of data written in backing device.
291 bd_reads the number of reads from backing device
293 bd_writes the number of writes to backing device
313 This frees all the memory allocated for the given device and
315 before reusing the device.
321 -------------------
323 zram has built-in support for idle pages tracking (that is, allocated but
341 ---------
345 To use the feature, admin should set up backing device via::
370 If an admin wants to write a specific page in zram device to the backing device,
378 `LOW-HIGH` range (or ranges) of pages to be written-back. This reduces the
379 number of syscalls, but more importantly this enables optimal post-processing
383 echo "page_indexes=1-100 page_indexes=200-300" > \
389 echo page_index=42 page_index=99 page_indexes=100-200 \
390 page_indexes=500-700 > /sys/block/zramX/writeback
392 If there are lots of write IO with flash device, potentially, it has
409 If admin wants to limit writeback as per-day 400M, they could do it
441 -------------
444 (secondary) compression algorithms. The basic idea is that alternative
449 recompression - pages that are cold and sit in the memory can be recompressed
453 one primary and up to 3 secondary ones. Primary zram compressor is explained
454 in "3) Select compression algorithm", secondary algorithms are configured
455 using recomp_algorithm device attribute.
461 #1: lzo lzo-rle lz4 lz4hc [zstd]
462 #2: lzo lzo-rle lz4 [lz4hc] zstd
476 Another device attribute that CONFIG_ZRAM_MULTI_COMP enables is recompress,
490 The number of idle pages can be significant, so user-space can pass a size
500 It is also possible to limit the number of pages zram re-compression will
505 During re-compression for every page, that matches re-compression criteria,
507 order of their priorities. ZRAM stops either when re-compression was
508 successful (re-compressed object is smaller in size than the original one)
509 and matches re-compression criteria (e.g. size threshold) or when there are
510 no secondary algorithms left to try. If none of the secondary algorithms can
511 successfully re-compressed the page such a page is marked as incompressible,
512 so ZRAM will not attempt to re-compress it in the future.
514 This re-compression behaviour, when it iterates through the list of
559 recompressed page (secondary compression algorithm)
561 none (including secondary) of algorithms could compress it