Re: [PATCH V9] workqueue: Allow modifying low level unbound workqueue cpumask

From: Tejun Heo
Date: Thu Apr 30 2015 - 09:29:48 EST


On Thu, Apr 30, 2015 at 05:16:12PM +0800, Lai Jiangshan wrote:
> Allow to modify the low-level unbound workqueues cpumask through
> sysfs. This is performed by traversing the entire workqueue list
> and calling apply_wqattrs_prepare() on the unbound workqueues
> with the new low level mask. Only after all the preparation are done,
> we commit them all together.
>
> Ordered workqueues are ignored from the low level unbound workqueue
> cpumask, it will be handled in near future.
>
> All the (default & per-node) pwqs are mandatorily controlled by
> the low level cpumask. If the user configured cpumask doesn't overlap
> with the low level cpumask, the low level cpumask will be used for the
> wq instead.
>
> The comment of wq_calc_node_cpumask() is updated and explicitly
> requires that its first argument should be the attrs of the default
> pwq.
>
> The default wq_unbound_cpumask is cpu_possible_mask. The workqueue
> subsystem doesn't know its best default value, let the system manager
> or the other subsystem set it when needed.
>
> Changed from V8:
> merge the calculating code for the attrs of the default pwq together.
> minor change the code&comments for saving the user configured attrs.
> remove unnecessary list_del().
> minor update the comment of wq_calc_node_cpumask().
> update the comment of workqueue_set_unbound_cpumask();
>
> Cc: Christoph Lameter <cl@xxxxxxxxx>
> Cc: Kevin Hilman <khilman@xxxxxxxxxx>
> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
> Cc: Mike Galbraith <bitbucket@xxxxxxxxx>
> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Original-patch-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>

Applied to wq/for-4.2 and yeah the prepare function looks better now.

Thanks a lot for the persistence.

--
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/