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

Reply via email to