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 <w...@kernel.org> > > --- > > include/linux/sched/isolation.h | 1 + > > kernel/sched/isolation.c | 7 +++++++ > > 2 files changed, 8 insertions(+) > > > Reviewed-by: Hannes Reinecke <h...@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.