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

Ming Lei ming.lei at redhat.com
Thu Apr 2 19:30:26 PDT 2026


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




More information about the Linux-nvme mailing list