Skip to content

Commit 534a033

Browse files
igawkawasaki
authored andcommitted
docs: add io_queue flag to isolcpus
The io_queue flag informs multiqueue device drivers where to place hardware queues. Document this new flag in the isolcpus command-line argument description. Signed-off-by: Daniel Wagner <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> [atomlin: Refined io_queue kernel parameter documentation] Signed-off-by: Aaron Tomlin <[email protected]>
1 parent 2f3480d commit 534a033

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2792,7 +2792,6 @@ Kernel parameters
27922792
"number of CPUs in system - 1".
27932793

27942794
managed_irq
2795-
27962795
Isolate from being targeted by managed interrupts
27972796
which have an interrupt mask containing isolated
27982797
CPUs. The affinity of managed interrupts is
@@ -2815,6 +2814,35 @@ Kernel parameters
28152814
housekeeping CPUs has no influence on those
28162815
queues.
28172816

2817+
io_queue
2818+
Applicable to managed IRQs only. Restrict
2819+
multiqueue hardware queue allocation to online
2820+
housekeeping CPUs. This guarantees that all
2821+
managed hardware completion interrupts are routed
2822+
exclusively to housekeeping cores, shielding
2823+
isolated CPUs from I/O interruptions even if they
2824+
initiated the request.
2825+
2826+
The io_queue configuration takes precedence over
2827+
managed_irq. When io_queue is used, managed_irq
2828+
placement constraints have no effect.
2829+
2830+
Note: Using io_queue restricts the number of
2831+
allocated hardware queues to match the number of
2832+
housekeeping CPUs. This prevents MSI-X vector
2833+
exhaustion and forces isolated CPUs to share
2834+
submission queues.
2835+
2836+
Note: Offlining housekeeping CPUs which serve
2837+
isolated CPUs will fail. The isolated CPUs must
2838+
be offlined before offlining the housekeeping
2839+
CPUs.
2840+
2841+
Note: When I/O is submitted by an application on
2842+
an isolated CPU, the hardware completion
2843+
interrupt is handled entirely by a housekeeping
2844+
CPU.
2845+
28182846
The format of <cpu-list> is described above.
28192847

28202848
iucv= [HW,NET]

0 commit comments

Comments
 (0)