Re: [PATCH v6 6/9] isolation: introduce io_queue isolcpus type

From: Daniel Wagner
Date: Fri Apr 25 2025 - 03:32:39 EST


On Fri, Apr 25, 2025 at 08:26:22AM +0200, Hannes Reinecke wrote:
> On 4/24/25 20:19, Daniel Wagner wrote:
> > Multiqueue drivers spreading IO queues on all CPUs for optimal
> > performance. The drivers are not aware of the CPU isolated requirement
> > and will spread all queues ignoring the isolcpus configuration.
> >
> > Introduce a new isolcpus mask which allows the user to define on which
> > CPUs IO queues should be placed. This is similar to the managed_irq but
> > for drivers which do not use the managed IRQ infrastructure.
> >
> > Signed-off-by: Daniel Wagner <wagi@xxxxxxxxxx>
> > ---
> > include/linux/sched/isolation.h | 1 +
> > kernel/sched/isolation.c | 7 +++++++
> > 2 files changed, 8 insertions(+)
> >
> Reviewed-by: Hannes Reinecke <hare@xxxxxxx>

Just realized I forgot to also add some document on this new argument:

io_queue
Isolate from IO queue work caused by multiqueue
device drivers. Restrict the placement of
queues to housekeeping CPUs only, ensuring that
all IO work is processed by a housekeeping CPU.

Note: When an isolated CPU issues an IO, it is
forwarded to a housekeeping CPU. This will
trigger a software interrupt on the completion
path.

Note: It is not possible to offline housekeeping
CPUs that serve isolated CPUs.