psphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/block/null_blkmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/block/null_blkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/block/null_blkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/block/null_blkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/block/null_blkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/block/null_blkmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh- Request-based. - Configurable submission queues per device. h]h bullet_list)}(hhh](h list_item)}(hRequest-based.h]h)}(hjh]hRequest-based.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h+Configurable submission queues per device. h]h)}(h*Configurable submission queues per device.h]h*Configurable submission queues per device.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h#No block-layer (Known as bio-based)h]h#No block-layer (Known as bio-based)}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h~- Bio-based. IO requests are submitted directly to the device driver. - Directly accepts bio data structure and returns them. h]j)}(hhh](j)}(hCBio-based. IO requests are submitted directly to the device driver.h]h)}(hjqh]hCBio-based. IO requests are submitted directly to the device driver.}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(h6Directly accepts bio data structure and returns them. h]h)}(h5Directly accepts bio data structure and returns them.h]h5Directly accepts bio data structure and returns them.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]jRjSuh1jhhhKhjhubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h@All of them have a completion queue for each core in the system.h]h@All of them have a completion queue for each core in the system.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]overviewah ]h"]overviewah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hModule parametersh]hModule parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(hqueue_mode=[0-2]: Default: 2-Multi-queue Selects which block-layer the module should instantiate with. = ============ 0 Bio-based 1 Single-queue (deprecated) 2 Multi-queue = ============ h](hterm)}(h(queue_mode=[0-2]: Default: 2-Multi-queueh]h(queue_mode=[0-2]: Default: 2-Multi-queue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK%hjubh definition)}(hhh](h)}(h=Selects which block-layer the module should instantiate with.h]h=Selects which block-layer the module should instantiate with.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h0h]h0}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hj1ubah}(h]h ]h"]h$]h&]uh1j/hj,ubj0)}(hhh]h)}(h Bio-basedh]h Bio-based}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjHubah}(h]h ]h"]h$]h&]uh1j/hj,ubeh}(h]h ]h"]h$]h&]uh1j*hj'ubj+)}(hhh](j0)}(hhh]h)}(h1h]h1}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjhubah}(h]h ]h"]h$]h&]uh1j/hjeubj0)}(hhh]h)}(hSingle-queue (deprecated)h]hSingle-queue (deprecated)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1j/hjeubeh}(h]h ]h"]h$]h&]uh1j*hj'ubj+)}(hhh](j0)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(h Multi-queueh]h Multi-queue}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hj'ubeh}(h]h ]h"]h$]h&]uh1j%hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK%hjubj)}(hmhome_node=[0--nr_nodes]: Default: NUMA_NO_NODE Selects what CPU node the data structures are allocated from. h](j)}(h.home_node=[0--nr_nodes]: Default: NUMA_NO_NODEh]h.home_node=[0--nr_nodes]: Default: NUMA_NO_NODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK(hjubj)}(hhh]h)}(h=Selects what CPU node the data structures are allocated from.h]h=Selects what CPU node the data structures are allocated from.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK(hjhhubj)}(hOgb=[Size in GB]: Default: 250GB The size of the device reported to the system. h](j)}(hgb=[Size in GB]: Default: 250GBh]hgb=[Size in GB]: Default: 250GB}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK+hj!ubj)}(hhh]h)}(h.The size of the device reported to the system.h]h.The size of the device reported to the system.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hj3ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhhhK+hjhhubj)}(hVbs=[Block size (in bytes)]: Default: 512 bytes The block size reported to the system. h](j)}(h.bs=[Block size (in bytes)]: Default: 512 bytesh]h.bs=[Block size (in bytes)]: Default: 512 bytes}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK.hjPubj)}(hhh]h)}(h&The block size reported to the system.h]h&The block size reported to the system.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjbubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhhhK.hjhhubj)}(h|nr_devices=[Number of devices]: Default: 1 Number of block devices instantiated. They are instantiated as /dev/nullb0, etc. h](j)}(h*nr_devices=[Number of devices]: Default: 1h]h*nr_devices=[Number of devices]: Default: 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK2hjubj)}(hhh]h)}(hPNumber of block devices instantiated. They are instantiated as /dev/nullb0, etc.h]hPNumber of block devices instantiated. They are instantiated as /dev/nullb0, etc.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK2hjhhubj)}(hX irqmode=[0-2]: Default: 1-Soft-irq The completion mode used for completing IOs to the block-layer. = =========================================================================== 0 None. 1 Soft-irq. Uses IPI to complete IOs across CPU nodes. Simulates the overhead when IOs are issued from another CPU node than the home the device is connected to. 2 Timer: Waits a specific period (completion_nsec) for each IO before completion. = =========================================================================== h](j)}(h"irqmode=[0-2]: Default: 1-Soft-irqh]h"irqmode=[0-2]: Default: 1-Soft-irq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK>hjubj)}(hhh](h)}(h?The completion mode used for completing IOs to the block-layer.h]h?The completion mode used for completing IOs to the block-layer.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKKuh1jhjubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(hNone.h]hNone.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hjubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj'ubah}(h]h ]h"]h$]h&]uh1j/hj$ubj0)}(hhh]h)}(hSoft-irq. Uses IPI to complete IOs across CPU nodes. Simulates the overhead when IOs are issued from another CPU node than the home the device is connected to.h]hSoft-irq. Uses IPI to complete IOs across CPU nodes. Simulates the overhead when IOs are issued from another CPU node than the home the device is connected to.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj=ubah}(h]h ]h"]h$]h&]uh1j/hj$ubeh}(h]h ]h"]h$]h&]uh1j*hjubj+)}(hhh](j0)}(hhh]h)}(hjh]h2}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hscompletion_nsec=[ns]: Default: 10,000ns Combined with irqmode=2 (timer). The time each completion event must wait. h](j)}(h'completion_nsec=[ns]: Default: 10,000nsh]h'completion_nsec=[ns]: Default: 10,000ns}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKAhjubj)}(hhh]h)}(hJCombined with irqmode=2 (timer). The time each completion event must wait.h]hJCombined with irqmode=2 (timer). The time each completion event must wait.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKAhjhhubj)}(hsubmit_queues=[1..nr_cpus]: Default: 1 The number of submission queues attached to the device driver. If unset, it defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module parameter is 1. h](j)}(h&submit_queues=[1..nr_cpus]: Default: 1h]h&submit_queues=[1..nr_cpus]: Default: 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKFhjubj)}(hhh]h)}(hThe number of submission queues attached to the device driver. If unset, it defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module parameter is 1.h]hThe number of submission queues attached to the device driver. If unset, it defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module parameter is 1.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKFhjhhubj)}(hPhw_queue_depth=[0..qdepth]: Default: 64 The hardware queue depth of the device. h](j)}(h'hw_queue_depth=[0..qdepth]: Default: 64h]h'hw_queue_depth=[0..qdepth]: Default: 64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKIhj ubj)}(hhh]h)}(h'The hardware queue depth of the device.h]h'The hardware queue depth of the device.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKIhjhhubj)}(hX#memory_backed=[0/1]: Default: 0 Whether or not to use a memory buffer to respond to IO requests = ============================================= 0 Transfer no data in response to IO requests 1 Use a memory buffer to respond to IO requests = ============================================= h](j)}(hmemory_backed=[0/1]: Default: 0h]hmemory_backed=[0/1]: Default: 0}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKQhj<ubj)}(hhh](h)}(h?Whether or not to use a memory buffer to respond to IO requestsh]h?Whether or not to use a memory buffer to respond to IO requests}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjNubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjbubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jhjbubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjubah}(h]h ]h"]h$]h&]uh1j/hj|ubj0)}(hhh]h)}(h+Transfer no data in response to IO requestsh]h+Transfer no data in response to IO requests}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjubah}(h]h ]h"]h$]h&]uh1j/hj|ubeh}(h]h ]h"]h$]h&]uh1j*hjyubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(h-Use a memory buffer to respond to IO requestsh]h-Use a memory buffer to respond to IO requests}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hjyubeh}(h]h ]h"]h$]h&]uh1j%hjbubeh}(h]h ]h"]h$]h&]colsKuh1j hj_ubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhhhKQhjhhubj)}(hXdiscard=[0/1]: Default: 0 Support discard operations (requires memory-backed null_blk device). = ===================================== 0 Do not support discard operations 1 Enable support for discard operations = ===================================== h](j)}(hdiscard=[0/1]: Default: 0h]hdiscard=[0/1]: Default: 0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKYhjubj)}(hhh](h)}(hDSupport discard operations (requires memory-backed null_blk device).h]hDSupport discard operations (requires memory-backed null_blk device).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj-ubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjJubah}(h]h ]h"]h$]h&]uh1j/hjGubj0)}(hhh]h)}(h!Do not support discard operationsh]h!Do not support discard operations}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhj`ubah}(h]h ]h"]h$]h&]uh1j/hjGubeh}(h]h ]h"]h$]h&]uh1j*hjDubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j/hj}ubj0)}(hhh]h)}(h%Enable support for discard operationsh]h%Enable support for discard operations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j/hj}ubeh}(h]h ]h"]h$]h&]uh1j*hjDubeh}(h]h ]h"]h$]h&]uh1j%hj-ubeh}(h]h ]h"]h$]h&]colsKuh1j hj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKYhjhhubj)}(hOcache_size=[Size in MB]: Default: 0 Cache size in MB for memory-backed device. h](j)}(h#cache_size=[Size in MB]: Default: 0h]h#cache_size=[Size in MB]: Default: 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK\hjubj)}(hhh]h)}(h*Cache size in MB for memory-backed device.h]h*Cache size in MB for memory-backed device.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK\hjhhubj)}(h`mbps=[Maximum bandwidth in MB/s]: Default: 0 (no limit) Bandwidth limit for device performance. h](j)}(h7mbps=[Maximum bandwidth in MB/s]: Default: 0 (no limit)h]h7mbps=[Maximum bandwidth in MB/s]: Default: 0 (no limit)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK_hjubj)}(hhh]h)}(h'Bandwidth limit for device performance.h]h'Bandwidth limit for device performance.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK_hjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hhh](h)}(hMulti-queue specific parametersh]hMulti-queue specific parameters}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hhhhhKbubj)}(hhh](j)}(hXuse_per_node_hctx=[0/1]: Default: 0 Number of hardware context queues. = ===================================================================== 0 The number of submit queues are set to the value of the submit_queues parameter. 1 The multi-queue block layer is instantiated with a hardware dispatch queue for each CPU node in the system. = ===================================================================== h](j)}(h#use_per_node_hctx=[0/1]: Default: 0h]h#use_per_node_hctx=[0/1]: Default: 0}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKlhjJubj)}(hhh](h)}(h"Number of hardware context queues.h]h"Number of hardware context queues.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehj\ubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKEuh1jhjpubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(hPThe number of submit queues are set to the value of the submit_queues parameter.h]hPThe number of submit queues are set to the value of the submit_queues parameter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hjubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(hkThe multi-queue block layer is instantiated with a hardware dispatch queue for each CPU node in the system.h]hkThe multi-queue block layer is instantiated with a hardware dispatch queue for each CPU node in the system.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hjubeh}(h]h ]h"]h$]h&]uh1j%hjpubeh}(h]h ]h"]h$]h&]colsKuh1j hjmubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhhhKlhjGubj)}(hno_sched=[0/1]: Default: 0 Enable/disable the io scheduler. = ====================================== 0 nullb* use default blk-mq io scheduler 1 nullb* doesn't use io scheduler = ====================================== h](j)}(hno_sched=[0/1]: Default: 0h]hno_sched=[0/1]: Default: 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKthjubj)}(hhh](h)}(h Enable/disable the io scheduler.h]h Enable/disable the io scheduler.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohj'ubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj;ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhj;ubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjXubah}(h]h ]h"]h$]h&]uh1j/hjUubj0)}(hhh]h)}(h&nullb* use default blk-mq io schedulerh]h&nullb* use default blk-mq io scheduler}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjnubah}(h]h ]h"]h$]h&]uh1j/hjUubeh}(h]h ]h"]h$]h&]uh1j*hjRubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjubah}(h]h ]h"]h$]h&]uh1j/hjubj0)}(hhh]h)}(hnullb* doesn't use io schedulerh]h!nullb* doesn’t use io scheduler}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjubah}(h]h ]h"]h$]h&]uh1j/hjubeh}(h]h ]h"]h$]h&]uh1j*hjRubeh}(h]h ]h"]h$]h&]uh1j%hj;ubeh}(h]h ]h"]h$]h&]colsKuh1j hj8ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKthjGhhubj)}(hXblocking=[0/1]: Default: 0 Blocking behavior of the request queue. = =============================================================== 0 Register as a non-blocking blk-mq driver device. 1 Register as a blocking blk-mq driver device, null_blk will set the BLK_MQ_F_BLOCKING flag, indicating that it sometimes/always needs to block in its ->queue_rq() function. = =============================================================== h](j)}(hblocking=[0/1]: Default: 0h]hblocking=[0/1]: Default: 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK~hjubj)}(hhh](h)}(h'Blocking behavior of the request queue.h]h'Blocking behavior of the request queue.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhj ubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhj# ubah}(h]h ]h"]h$]h&]uh1j/hj ubj0)}(hhh]h)}(h0Register as a non-blocking blk-mq driver device.h]h0Register as a non-blocking blk-mq driver device.}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhj9 ubah}(h]h ]h"]h$]h&]uh1j/hj ubeh}(h]h ]h"]h$]h&]uh1j*hj ubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjY ubah}(h]h ]h"]h$]h&]uh1j/hjV ubj0)}(hhh]h)}(hRegister as a blocking blk-mq driver device, null_blk will set the BLK_MQ_F_BLOCKING flag, indicating that it sometimes/always needs to block in its ->queue_rq() function.h]hRegister as a blocking blk-mq driver device, null_blk will set the BLK_MQ_F_BLOCKING flag, indicating that it sometimes/always needs to block in its ->queue_rq() function.}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjo ubah}(h]h ]h"]h$]h&]uh1j/hjV ubeh}(h]h ]h"]h$]h&]uh1j*hj ubeh}(h]h ]h"]h$]h&]uh1j%hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK~hjGhhubj)}(hX]shared_tags=[0/1]: Default: 0 Sharing tags between devices. = ================================================================ 0 Tag set is not shared. 1 Tag set shared between devices for blk-mq. Only makes sense with nr_devices > 1, otherwise there's no tag set to share. = ================================================================ h](j)}(hshared_tags=[0/1]: Default: 0h]hshared_tags=[0/1]: Default: 0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh](h)}(hSharing tags between devices.h]hSharing tags between devices.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK@uh1jhj ubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubj0)}(hhh]h)}(hTag set is not shared.h]hTag set is not shared.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubeh}(h]h ]h"]h$]h&]uh1j*hj ubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1j/hj! ubj0)}(hhh]h)}(hwTag set shared between devices for blk-mq. Only makes sense with nr_devices > 1, otherwise there's no tag set to share.h]hyTag set shared between devices for blk-mq. Only makes sense with nr_devices > 1, otherwise there’s no tag set to share.}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj: ubah}(h]h ]h"]h$]h&]uh1j/hj! ubeh}(h]h ]h"]h$]h&]uh1j*hj ubeh}(h]h ]h"]h$]h&]uh1j%hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjGhhubj)}(hXzoned=[0/1]: Default: 0 Device is a random-access or a zoned block device. = ====================================================================== 0 Block device is exposed as a random-access block device. 1 Block device is exposed as a host-managed zoned block device. Requires CONFIG_BLK_DEV_ZONED. = ====================================================================== h](j)}(hzoned=[0/1]: Default: 0h]hzoned=[0/1]: Default: 0}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjv ubj)}(hhh](h)}(h2Device is a random-access or a zoned block device.h]h2Device is a random-access or a zoned block device.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubj)}(hhh]j )}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhj ubj&)}(hhh](j+)}(hhh](j0)}(hhh]h)}(hj6h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubj0)}(hhh]h)}(h8Block device is exposed as a random-access block device.h]h8Block device is exposed as a random-access block device.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubeh}(h]h ]h"]h$]h&]uh1j*hj ubj+)}(hhh](j0)}(hhh]h)}(hjmh]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubj0)}(hhh]h)}(h\Block device is exposed as a host-managed zoned block device. Requires CONFIG_BLK_DEV_ZONED.h]h\Block device is exposed as a host-managed zoned block device. Requires CONFIG_BLK_DEV_ZONED.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j/hj ubeh}(h]h ]h"]h$]h&]uh1j*hj ubeh}(h]h ]h"]h$]h&]uh1j%hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjv ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjGhhubj)}(hizone_size=[MB]: Default: 256 Per zone size when exposed as a zoned block device. Must be a power of two. h](j)}(hzone_size=[MB]: Default: 256h]hzone_size=[MB]: Default: 256}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjA ubj)}(hhh]h)}(hKPer zone size when exposed as a zoned block device. Must be a power of two.h]hKPer zone size when exposed as a zoned block device. Must be a power of two.}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjS ubah}(h]h ]h"]h$]h&]uh1jhjA ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjGhhubj)}(hzone_nr_conv=[nr_conv]: Default: 0 The number of conventional zones to create when block device is zoned. If zone_nr_conv >= nr_zones, it will be reduced to nr_zones - 1.h](j)}(h"zone_nr_conv=[nr_conv]: Default: 0h]h"zone_nr_conv=[nr_conv]: Default: 0}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjp ubj)}(hhh]h)}(hThe number of conventional zones to create when block device is zoned. If zone_nr_conv >= nr_zones, it will be reduced to nr_zones - 1.h]hThe number of conventional zones to create when block device is zoned. If zone_nr_conv >= nr_zones, it will be reduced to nr_zones - 1.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjp ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjGhhubeh}(h]h ]h"]h$]h&]uh1jhj6hhhhhNubeh}(h]multi-queue-specific-parametersah ]h"]multi-queue specific parametersah$]h&]uh1hhjhhhhhKbubeh}(h]module-parametersah ]h"]module parametersah$]h&]uh1hhhhhhhhKubeh}(h]null-block-device-driverah ]h"]null block device driverah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj/footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j jjj j j j u nametypes}(j jj j uh}(j hjhj jj j6u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.