On Wed, Jul 02, 2025 at 06:33:57PM +0200, Daniel Wagner wrote:
> Multiqueue drivers spread I/O queues across all CPUs for optimal
> performance. However, these drivers are not aware of CPU isolation
> requirements and will distribute queues without considering the isolcpus
> configuration.
> 
> Introduce a new isolcpus mask that allows users to define which CPUs
> should have I/O queues assigned. This is similar to managed_irq, but
> intended for drivers that do not use the managed IRQ infrastructure
> 
> Reviewed-by: Hannes Reinecke <h...@suse.de>
> Signed-off-by: Daniel Wagner <w...@kernel.org>
> ---
>  include/linux/sched/isolation.h | 1 +
>  kernel/sched/isolation.c        | 7 +++++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h
> index 
> d8501f4709b583b8a1c91574446382f093bccdb1..6b6ae9c5b2f61a93c649a98ea27482b932627fca
>  100644
> --- a/include/linux/sched/isolation.h
> +++ b/include/linux/sched/isolation.h
> @@ -9,6 +9,7 @@
>  enum hk_type {
>       HK_TYPE_DOMAIN,
>       HK_TYPE_MANAGED_IRQ,
> +     HK_TYPE_IO_QUEUE,
>       HK_TYPE_KERNEL_NOISE,
>       HK_TYPE_MAX,
>  
> diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c
> index 
> 93b038d48900a304a29ecc0c8aa8b7d419ea1397..c8cb0cf2b15a11524be73826f38bb2a0709c449c
>  100644
> --- a/kernel/sched/isolation.c
> +++ b/kernel/sched/isolation.c
> @@ -11,6 +11,7 @@
>  enum hk_flags {
>       HK_FLAG_DOMAIN          = BIT(HK_TYPE_DOMAIN),
>       HK_FLAG_MANAGED_IRQ     = BIT(HK_TYPE_MANAGED_IRQ),
> +     HK_FLAG_IO_QUEUE        = BIT(HK_TYPE_IO_QUEUE),
>       HK_FLAG_KERNEL_NOISE    = BIT(HK_TYPE_KERNEL_NOISE),
>  };
>  
> @@ -224,6 +225,12 @@ static int __init housekeeping_isolcpus_setup(char *str)
>                       continue;
>               }
>  
> +             if (!strncmp(str, "io_queue,", 9)) {
> +                     str += 9;
> +                     flags |= HK_FLAG_IO_QUEUE;
> +                     continue;
> +             }
> +
>               /*
>                * Skip unknown sub-parameter and validate that it is not
>                * containing an invalid character.
> 
> -- 
> 2.50.0
> 

Reviewed-by: Aaron Tomlin <atom...@atomlin.com>

-- 
Aaron Tomlin

Reply via email to