Re: [PATCH 4/4 V6] workqueue: Allow modifying low level unbound workqueue cpumask

From: Tejun Heo
Date: Mon Apr 06 2015 - 21:58:26 EST


Hello, Lai.

On Tue, Apr 07, 2015 at 09:25:59AM +0800, Lai Jiangshan wrote:
> On 04/06/2015 11:53 PM, Tejun Heo wrote:
> > On Thu, Apr 02, 2015 at 07:14:42PM +0800, Lai Jiangshan wrote:
> >> /* make a copy of @attrs and sanitize it */
> >> copy_workqueue_attrs(new_attrs, attrs);
> >> - cpumask_and(new_attrs->cpumask, new_attrs->cpumask, wq_unbound_global_cpumask);
> >> + copy_workqueue_attrs(pwq_attrs, attrs);
> >> + cpumask_and(new_attrs->cpumask, new_attrs->cpumask, cpu_possible_mask);
> >> + cpumask_and(pwq_attrs->cpumask, pwq_attrs->cpumask, unbound_cpumask);
> >
> > Hmmm... why do we need to keep track of both cpu_possible_mask and
> > unbound_cpumask? Can't we just make unbound_cpumask replace
> > cpu_possible_mask for unbound workqueues?
> >
>
> I want to save the original user-setting cpumask.
>
> When any time the wq_unbound_global_cpumask is changed,
> the new effective cpumask is
> the-original-user-setting-cpumask & wq_unbound_global_cpumask
> instead of
> the-last-effective-cpumask & wq_unbound_global_cpumask.

Yes, I get that, but that'd require just tracking the original
configured value and the unbound_cpumask masked value, no? What am I
missing?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/