139 lines
4.8 KiB
Plaintext
139 lines
4.8 KiB
Plaintext
Queue sysfs files
|
|
=================
|
|
|
|
This text file will detail the queue files that are located in the sysfs tree
|
|
for each block device. Note that stacked devices typically do not export
|
|
any settings, since their queue merely functions are a remapping target.
|
|
These files are the ones found in the /sys/block/xxx/queue/ directory.
|
|
|
|
Files denoted with a RO postfix are readonly and the RW postfix means
|
|
read-write.
|
|
|
|
add_random (RW)
|
|
----------------
|
|
This file allows to turn off the disk entropy contribution. Default
|
|
value of this file is '1'(on).
|
|
|
|
discard_granularity (RO)
|
|
-----------------------
|
|
This shows the size of internal allocation of the device in bytes, if
|
|
reported by the device. A value of '0' means device does not support
|
|
the discard functionality.
|
|
|
|
discard_max_bytes (RO)
|
|
----------------------
|
|
Devices that support discard functionality may have internal limits on
|
|
the number of bytes that can be trimmed or unmapped in a single operation.
|
|
The discard_max_bytes parameter is set by the device driver to the maximum
|
|
number of bytes that can be discarded in a single operation. Discard
|
|
requests issued to the device must not exceed this limit. A discard_max_bytes
|
|
value of 0 means that the device does not support discard functionality.
|
|
|
|
discard_zeroes_data (RO)
|
|
------------------------
|
|
When read, this file will show if the discarded block are zeroed by the
|
|
device or not. If its value is '1' the blocks are zeroed otherwise not.
|
|
|
|
hw_sector_size (RO)
|
|
-------------------
|
|
This is the hardware sector size of the device, in bytes.
|
|
|
|
iostats (RW)
|
|
-------------
|
|
This file is used to control (on/off) the iostats accounting of the
|
|
disk.
|
|
|
|
logical_block_size (RO)
|
|
-----------------------
|
|
This is the logcal block size of the device, in bytes.
|
|
|
|
max_hw_sectors_kb (RO)
|
|
----------------------
|
|
This is the maximum number of kilobytes supported in a single data transfer.
|
|
|
|
max_integrity_segments (RO)
|
|
---------------------------
|
|
When read, this file shows the max limit of integrity segments as
|
|
set by block layer which a hardware controller can handle.
|
|
|
|
max_sectors_kb (RW)
|
|
-------------------
|
|
This is the maximum number of kilobytes that the block layer will allow
|
|
for a filesystem request. Must be smaller than or equal to the maximum
|
|
size allowed by the hardware.
|
|
|
|
max_segments (RO)
|
|
-----------------
|
|
Maximum number of segments of the device.
|
|
|
|
max_segment_size (RO)
|
|
---------------------
|
|
Maximum segment size of the device.
|
|
|
|
minimum_io_size (RO)
|
|
--------------------
|
|
This is the smallest preferred IO size reported by the device.
|
|
|
|
nomerges (RW)
|
|
-------------
|
|
This enables the user to disable the lookup logic involved with IO
|
|
merging requests in the block layer. By default (0) all merges are
|
|
enabled. When set to 1 only simple one-hit merges will be tried. When
|
|
set to 2 no merge algorithms will be tried (including one-hit or more
|
|
complex tree/hash lookups).
|
|
|
|
nr_requests (RW)
|
|
----------------
|
|
This controls how many requests may be allocated in the block layer for
|
|
read or write requests. Note that the total allocated number may be twice
|
|
this amount, since it applies only to reads or writes (not the accumulated
|
|
sum).
|
|
|
|
To avoid priority inversion through request starvation, a request
|
|
queue maintains a separate request pool per each cgroup when
|
|
CONFIG_BLK_CGROUP is enabled, and this parameter applies to each such
|
|
per-block-cgroup request pool. IOW, if there are N block cgroups,
|
|
each request queue may have up to N request pools, each independently
|
|
regulated by nr_requests.
|
|
|
|
optimal_io_size (RO)
|
|
--------------------
|
|
This is the optimal IO size reported by the device.
|
|
|
|
physical_block_size (RO)
|
|
------------------------
|
|
This is the physical block size of device, in bytes.
|
|
|
|
read_ahead_kb (RW)
|
|
------------------
|
|
Maximum number of kilobytes to read-ahead for filesystems on this block
|
|
device.
|
|
|
|
rotational (RW)
|
|
---------------
|
|
This file is used to stat if the device is of rotational type or
|
|
non-rotational type.
|
|
|
|
rq_affinity (RW)
|
|
----------------
|
|
If this option is '1', the block layer will migrate request completions to the
|
|
cpu "group" that originally submitted the request. For some workloads this
|
|
provides a significant reduction in CPU cycles due to caching effects.
|
|
|
|
For storage configurations that need to maximize distribution of completion
|
|
processing setting this option to '2' forces the completion to run on the
|
|
requesting cpu (bypassing the "group" aggregation logic).
|
|
|
|
scheduler (RW)
|
|
--------------
|
|
When read, this file will display the current and available IO schedulers
|
|
for this block device. The currently active IO scheduler will be enclosed
|
|
in [] brackets. Writing an IO scheduler name to this file will switch
|
|
control of this block device to that new IO scheduler. Note that writing
|
|
an IO scheduler name to this file will attempt to load that IO scheduler
|
|
module, if it isn't already present in the system.
|
|
|
|
|
|
|
|
Jens Axboe <jens.axboe@oracle.com>, February 2009
|