On Fri, Oct 13, 2023 at 08:47:58PM +0800, Ming Lei wrote: > Kernel parameter of `isolcpus=` or 'nohz_full=' are used for isolating CPUs > for specific task, and user often won't want block IO to disturb these CPUs, > also long IO latency may be caused if blk-mq kworker is scheduled on these > isolated CPUs. > > Kernel workqueue only respects this limit for WQ_UNBOUND, for bound wq, > the responsibility should be on wq user. > > So don't not run block kworker on isolated CPUs by ruling out isolated CPUs > from hctx->cpumask. Meantime in cpuhp handler, use queue map to check if > all CPUs in this hw queue are offline, this way can avoid any cost in fast > IO code path. > > Cc: Juri Lelli <juri.lelli@xxxxxxxxxx> > Cc: Andrew Theurer <atheurer@xxxxxxxxxx> > Cc: Joe Mario <jmario@xxxxxxxxxx> > Cc: Sebastian Jug <sejug@xxxxxxxxxx> > Cc: Frederic Weisbecker <frederic@xxxxxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > V2: > - remove module parameter, meantime use queue map to check if > all cpus in one hctx are offline Hello Guys, Ping... Thanks, Ming