Re: [PATCH v10 13/13] docs: add io_queue flag to isolcpus

Ming Lei
2026-04-04T04:44:49Z

On Wed, Apr 01, 2026 at 06:23:12PM -0400, Aaron Tomlin wrote:
> From: Daniel Wagner <wagi@kernel.org>
>
> 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 <atomlin@atomlin.com>
> Reviewed-by: Hannes Reinecke <hare@suse.de>
> Signed-off-by: Daniel Wagner <wagi@kernel.org>
> Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
> ---
> .../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