From: Daniel Wagner 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 Reviewed-by: Hannes Reinecke [atomlin: Refined io_queue kernel parameter documentation] Signed-off-by: Aaron Tomlin --- .../admin-guide/kernel-parameters.txt | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 4d0f545fb3ec..2de1b7bffbe9 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2792,7 +2792,6 @@ Kernel parameters "number of CPUs in system - 1". managed_irq - Isolate from being targeted by managed interrupts which have an interrupt mask containing isolated CPUs. The affinity of managed interrupts is @@ -2815,6 +2814,35 @@ Kernel parameters housekeeping CPUs has no influence on those queues. + io_queue + Applicable to managed IRQs only. Restrict + multiqueue hardware queue allocation to online + housekeeping CPUs. This guarantees that all + managed hardware completion interrupts are routed + exclusively to housekeeping cores, shielding + isolated CPUs from I/O interruptions even if they + initiated the request. + + The io_queue configuration takes precedence over + managed_irq. When io_queue is used, managed_irq + placement constraints have no effect. + + Note: Using io_queue restricts the number of + allocated hardware queues to match the number of + housekeeping CPUs. This prevents MSI-X vector + exhaustion and forces isolated CPUs to share + submission queues. + + Note: Offlining housekeeping CPUs which serve + isolated CPUs will fail. The isolated CPUs must + be offlined before offlining the housekeeping + CPUs. + + Note: When I/O is submitted by an application on + an isolated CPU, the hardware completion + interrupt is handled entirely by a housekeeping + CPU. + The format of is described above. iucv= [HW,NET] -- 2.51.0