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 <[email protected]> > Cc: Kevin Hilman <[email protected]> > Cc: Lai Jiangshan <[email protected]> > Cc: Mike Galbraith <[email protected]> > Cc: Paul E. McKenney <[email protected]> > Cc: Tejun Heo <[email protected]> > Cc: Viresh Kumar <[email protected]> > Cc: Frederic Weisbecker <[email protected]> > Original-patch-by: Frederic Weisbecker <[email protected]> > Signed-off-by: Lai Jiangshan <[email protected]>
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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

