zram: update documentation
Several documentation changes. First, we never mentioned any errors and never required any error checks in documentation. Second, mention that there is another way to configure and manage zram devices -- zramctl, provided by util-linux. Third, add a bit of clarification on why `mem_used_max' attr is RW and correct some typos. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
1c0032c8eb
commit
3657c20d82
|
@ -14,8 +14,43 @@ Statistics for individual zram devices are exported through sysfs nodes at
|
||||||
|
|
||||||
* Usage
|
* Usage
|
||||||
|
|
||||||
|
There are several ways to configure and manage zram device(-s):
|
||||||
|
a) using zram and zram_control sysfs attributes
|
||||||
|
b) using zramctl utility, provided by util-linux (util-linux@vger.kernel.org).
|
||||||
|
|
||||||
|
In this document we will describe only 'manual' zram configuration steps,
|
||||||
|
IOW, zram and zram_control sysfs attributes.
|
||||||
|
|
||||||
|
In order to get a better idea about zramctl please consult util-linux
|
||||||
|
documentation, zramctl man-page or `zramctl --help'. Please be informed
|
||||||
|
that zram maintainers do not develop/maintain util-linux or zramctl, should
|
||||||
|
you have any questions please contact util-linux@vger.kernel.org
|
||||||
|
|
||||||
Following shows a typical sequence of steps for using zram.
|
Following shows a typical sequence of steps for using zram.
|
||||||
|
|
||||||
|
WARNING
|
||||||
|
=======
|
||||||
|
For the sake of simplicity we skip error checking parts in most of the
|
||||||
|
examples below. However, it is your sole responsibility to handle errors.
|
||||||
|
|
||||||
|
zram sysfs attributes always return negative values in case of errors.
|
||||||
|
The list of possible return codes:
|
||||||
|
-EBUSY -- an attempt to modify an attribute that cannot be changed once
|
||||||
|
the device has been initialised. Please reset device first;
|
||||||
|
-ENOMEM -- zram was not able to allocate enough memory to fulfil your
|
||||||
|
needs;
|
||||||
|
-EINVAL -- invalid input has been provided.
|
||||||
|
|
||||||
|
If you use 'echo', the returned value that is changed by 'echo' utility,
|
||||||
|
and, in general case, something like:
|
||||||
|
|
||||||
|
echo 3 > /sys/block/zram0/max_comp_streams
|
||||||
|
if [ $? -ne 0 ];
|
||||||
|
handle_error
|
||||||
|
fi
|
||||||
|
|
||||||
|
should suffice.
|
||||||
|
|
||||||
1) Load Module:
|
1) Load Module:
|
||||||
modprobe zram num_devices=4
|
modprobe zram num_devices=4
|
||||||
This creates 4 devices: /dev/zram{0,1,2,3}
|
This creates 4 devices: /dev/zram{0,1,2,3}
|
||||||
|
@ -47,7 +82,7 @@ max_comp_streams adjustment.
|
||||||
|
|
||||||
3) Select compression algorithm
|
3) Select compression algorithm
|
||||||
Using comp_algorithm device attribute one can see available and
|
Using comp_algorithm device attribute one can see available and
|
||||||
currently selected (shown in square brackets) compression algortithms,
|
currently selected (shown in square brackets) compression algorithms,
|
||||||
change selected compression algorithm (once the device is initialised
|
change selected compression algorithm (once the device is initialised
|
||||||
there is no way to change compression algorithm).
|
there is no way to change compression algorithm).
|
||||||
|
|
||||||
|
@ -119,7 +154,7 @@ execute
|
||||||
8) Stats:
|
8) Stats:
|
||||||
Per-device statistics are exported as various nodes under /sys/block/zram<id>/
|
Per-device statistics are exported as various nodes under /sys/block/zram<id>/
|
||||||
|
|
||||||
A brief description of exported device attritbutes. For more details please
|
A brief description of exported device attributes. For more details please
|
||||||
read Documentation/ABI/testing/sysfs-block-zram.
|
read Documentation/ABI/testing/sysfs-block-zram.
|
||||||
|
|
||||||
Name access description
|
Name access description
|
||||||
|
@ -140,8 +175,9 @@ zero_pages RO the number of zero filled pages written to this disk
|
||||||
orig_data_size RO uncompressed size of data stored in this disk
|
orig_data_size RO uncompressed size of data stored in this disk
|
||||||
compr_data_size RO compressed size of data stored in this disk
|
compr_data_size RO compressed size of data stored in this disk
|
||||||
mem_used_total RO the amount of memory allocated for this disk
|
mem_used_total RO the amount of memory allocated for this disk
|
||||||
mem_used_max RW the maximum amount memory zram have consumed to
|
mem_used_max RW the maximum amount of memory zram have consumed to
|
||||||
store compressed data
|
store the data (to reset this counter to the actual
|
||||||
|
current value, write 1 to this attribute)
|
||||||
mem_limit RW the maximum amount of memory ZRAM can use to store
|
mem_limit RW the maximum amount of memory ZRAM can use to store
|
||||||
the compressed data
|
the compressed data
|
||||||
pages_compacted RO the number of pages freed during compaction
|
pages_compacted RO the number of pages freed during compaction
|
||||||
|
|
Loading…
Reference in New Issue