On Wed, Apr 01, 2026 at 06:23:12PM -0400, Aaron Tomlin wrote:
> From: Daniel Wagner <[email protected]>
> 
> The io_queue flag informs multiqueue device drivers where to place
> hardware queues. Document this new flag in the isolcpus
> command-line argument description.
> 
> Reviewed-by: Aaron Tomlin <[email protected]>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Signed-off-by: Daniel Wagner <[email protected]>
> Signed-off-by: Aaron Tomlin <[email protected]>
> ---
>  .../admin-guide/kernel-parameters.txt         | 22 ++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt 
> b/Documentation/admin-guide/kernel-parameters.txt
> index 03a550630644..9ed7c3ecd158 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -2816,7 +2816,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
> @@ -2839,6 +2838,27 @@ Kernel parameters
>                         housekeeping CPUs has no influence on those
>                         queues.
>  
> +                     io_queue
> +                       Isolate from I/O queue work caused by multiqueue
> +                       device drivers. Restrict the placement of
> +                       queues to housekeeping CPUs only, ensuring that
> +                       all I/O work is processed by a housekeeping CPU.

All these can be supported by `managed_irq` already, please document the thing
which `io_queue` solves, and `managed_irq` can't cover, so user can know
how to choose between the two command lines.

`Restrict the placement of queues to housekeeping CPUs only` looks totally
stale, please see patch 10, in which isolated CPUs are spread too.

> +
> +                       The io_queue configuration takes precedence
> +                       over managed_irq. When io_queue is used,
> +                       managed_irq placement constrains have no
> +                       effect.
> +
> +                       Note: Offlining housekeeping CPUS which serve
> +                       isolated CPUs will be rejected. Isolated CPUs
> +                       need to be offlined before offlining the
> +                       housekeeping CPUs.
> +
> +                       Note: When an isolated CPU issues an I/O request,
> +                       it is forwarded to a housekeeping CPU. This will
> +                       trigger a software interrupt on the completion
> +                       path.

`io_queue` doesn't touch io completion code path, which is more
implementation details, so not sure if the above Note is needed.


Thanks,
Ming


Reply via email to