Re: [PATCH v2 3/3] lib/group_cpus.c: honor housekeeping config when grouping CPUs

From: Ming Lei
Date: Mon Jul 01 2024 - 03:21:47 EST


On Mon, Jul 01, 2024 at 09:08:32AM +0200, Daniel Wagner wrote:
> On Sun, Jun 30, 2024 at 09:39:59PM GMT, Ming Lei wrote:
> > > Make group_cpus_evenly aware of isolcpus configuration and use the
> > > housekeeping CPU mask as base for distributing the available CPUs into
> > > groups.
> > >
> > > Fixes: 11ea68f553e2 ("genirq, sched/isolation: Isolate from handling managed interrupts")
> >
> > isolated CPUs are actually handled when figuring out irq effective mask,
> > so not sure how commit 11ea68f553e2 is wrong, and what is fixed in this
> > patch from user viewpoint?
>
> IO queues are allocated/spread on the isolated CPUs and if there is an
> thread submitting IOs from an isolated CPU it will cause noise on the
> isolated CPUs. The question is this a use case you need/want to support?

I have talked RH Openshift team weeks ago and they have such usage.

userspace is free to run any application from isolated CPUs via 'taskset
-c' even though 'isolcpus=' is passed from command line.

Kernel can not add such new constraint on userspace.

> We have customers who are complaining that even with isolcpus provided
> they still see IO noise on the isolated CPUs.

That is another issue, which has been fixed by the following patch:

a46c27026da1 blk-mq: don't schedule block kworker on isolated CPUs



Thanks,
Ming