On Sat, Oct 21, 2017 at 7:04 PM, Tejun Heo <t...@kernel.org> wrote: > On Sat, Oct 21, 2017 at 07:02:21PM +0300, Tal Shorer wrote: >> On Sat, Oct 21, 2017 at 6:49 PM, Tejun Heo <t...@kernel.org> wrote: >> > On Fri, Oct 20, 2017 at 12:44:06AM +0300, Tal Shorer wrote: >> >> Initialize wq_unbound_cpumask to exclude cpus that were isolated by >> >> the cmdline's isolcpus parameter. >> >> >> >> Signed-off-by: Tal Shorer <tal.sho...@gmail.com> >> >> --- >> >> kernel/workqueue.c | 2 +- >> >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> >> >> diff --git a/kernel/workqueue.c b/kernel/workqueue.c >> >> index ca937b0..25b351d 100644 >> >> --- a/kernel/workqueue.c >> >> +++ b/kernel/workqueue.c >> >> @@ -5546,7 +5546,7 @@ int __init workqueue_init_early(void) >> >> WARN_ON(__alignof__(struct pool_workqueue) < __alignof__(long >> >> long)); >> >> >> >> BUG_ON(!alloc_cpumask_var(&wq_unbound_cpumask, GFP_KERNEL)); >> >> - cpumask_copy(wq_unbound_cpumask, cpu_possible_mask); >> >> + cpumask_andnot(wq_unbound_cpumask, cpu_possible_mask, >> >> cpu_isolated_map); >> > >> > Don't we also wanna apply the same masking when wq_unbound_cpumask is >> > being updated after boot? >> > >> I think that if the user actively enables unbound works on isolated >> cpus, the kernel should allow that. > > (Please restore cc list when you reply.) > > Do we have a consistent behavior around this? Are there different > examples where isolcpus interact with other dynamically configurable > parameters? > sched_setaffinity comes to mind, which obviously bypasses isolcpus. Running git grep, other uses of cpu_isolated_map are just its initialization and its use and the initialization of non_isolated_cpus.
> Thanks. > > -- > tejun