[PATCH v6 6/9] isolation: introduce io_queue isolcpus type
Daniel Wagner
dwagner at suse.de
Fri Apr 25 00:32:16 PDT 2025
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 at kernel.org>
> > ---
> > include/linux/sched/isolation.h | 1 +
> > kernel/sched/isolation.c | 7 +++++++
> > 2 files changed, 8 insertions(+)
> >
> Reviewed-by: Hannes Reinecke <hare at suse.de>
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.
More information about the Linux-nvme
mailing list