Skip to content

Commit 166c184

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 e309efc commit 166c184

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
@@ -2810,7 +2810,6 @@ Kernel parameters
28102810
"number of CPUs in system - 1".
28112811

28122812
managed_irq
2813-
28142813
Isolate from being targeted by managed interrupts
28152814
which have an interrupt mask containing isolated
28162815
CPUs. The affinity of managed interrupts is
@@ -2833,6 +2832,35 @@ Kernel parameters
28332832
housekeeping CPUs has no influence on those
28342833
queues.
28352834

2835+
io_queue
2836+
Applicable to managed IRQs only. Restrict
2837+
multiqueue hardware queue allocation to online
2838+
housekeeping CPUs. This guarantees that all
2839+
managed hardware completion interrupts are routed
2840+
exclusively to housekeeping cores, shielding
2841+
isolated CPUs from I/O interruptions even if they
2842+
initiated the request.
2843+
2844+
The io_queue configuration takes precedence over
2845+
managed_irq. When io_queue is used, managed_irq
2846+
placement constraints have no effect.
2847+
2848+
Note: Using io_queue restricts the number of
2849+
allocated hardware queues to match the number of
2850+
housekeeping CPUs. This prevents MSI-X vector
2851+
exhaustion and forces isolated CPUs to share
2852+
submission queues.
2853+
2854+
Note: Offlining housekeeping CPUs which serve
2855+
isolated CPUs will fail. The isolated CPUs must
2856+
be offlined before offlining the housekeeping
2857+
CPUs.
2858+
2859+
Note: When I/O is submitted by an application on
2860+
an isolated CPU, the hardware completion
2861+
interrupt is handled entirely by a housekeeping
2862+
CPU.
2863+
28362864
The format of <cpu-list> is described above.
28372865

28382866
iucv= [HW,NET]

0 commit comments

Comments
 (0)