Lai Jiangshan <la...@cn.fujitsu.com> writes: > On 03/14/2015 07:49 AM, Kevin Hilman wrote: >> Lai Jiangshan <la...@cn.fujitsu.com> writes: >> >>> From: Frederic Weisbecker <fweis...@gmail.com> >>> >>> Create a cpumask that limit the affinity of all unbound workqueues. >>> This cpumask is controlled though a file at the root of the workqueue >>> sysfs directory. >>> >>> It works on a lower-level than the per WQ_SYSFS workqueues cpumask files >>> such that the effective cpumask applied for a given unbound workqueue is >>> the intersection of /sys/devices/virtual/workqueue/$WORKQUEUE/cpumask and >>> the new /sys/devices/virtual/workqueue/cpumask_unbounds file. >>> >>> This patch implements the basic infrastructure and the read interface. >>> cpumask_unbounds is initially set to cpu_possible_mask. >>> >>> Cc: Christoph Lameter <c...@linux.com> >>> Cc: Kevin Hilman <khil...@linaro.org> >>> Cc: Lai Jiangshan <la...@cn.fujitsu.com> >>> Cc: Mike Galbraith <bitbuc...@online.de> >>> Cc: Paul E. McKenney <paul...@linux.vnet.ibm.com> >>> Cc: Tejun Heo <t...@kernel.org> >>> Cc: Viresh Kumar <viresh.ku...@linaro.org> >>> Signed-off-by: Frederic Weisbecker <fweis...@gmail.com> >>> Signed-off-by: Lai Jiangshan <la...@cn.fujitsu.com> >> >> [...] >> >>> @@ -5094,6 +5116,9 @@ static int __init init_workqueues(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); >>> + >> >> As I mentioned in an earlier discussion[1], I still think this could >> default too the housekeeping CPUs in the NO_HZ_FULL case: >> >> #ifdef CONFIG_NO_HZ_FULL >> cpumask_complement(wq_unbound_cpumask, tick_nohz_full_mask); > > > No, the default/booted wq_unbound_cpumask should be cpu_possible_mask. >
Even for NO_HZ_FULL? IMO, for NO_HZ_FULL, we want the unbound workqueues to be on the housekeeping CPU(s). Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/