[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <acd1d7b8-074b-6a60-bae0-43293461b135@linux.vnet.ibm.com>
Date: Wed, 28 Jun 2017 16:15:09 -0500
From: Michael Bringmann <mwb@...ux.vnet.ibm.com>
To: Tejun Heo <tj@...nel.org>
Cc: Lai Jiangshan <jiangshanlai@...il.com>,
linux-kernel@...r.kernel.org,
Nathan Fontenot <nfont@...ux.vnet.ibm.com>
Subject: Re: [PATCH] workqueue: Ensure that cpumask set for pools created
after boot
I will try that patch tomorrow. My only concern about that is the use of WARN_ON().
As I may have mentioned in my note of 6/27, I saw about 600 instances of the warning
message just during boot of the PowerPC kernel. I doubt that we want to see that on
an ongoing basis.
Michael
On 06/13/2017 03:10 PM, Tejun Heo wrote:
> Hello,
>
> On Tue, Jun 13, 2017 at 03:04:30PM -0500, Michael Bringmann wrote:
>> @@ -3564,19 +3564,28 @@ static struct pool_workqueue *alloc_unbound_pwq(struct workqueue_struct *wq,
>> static bool wq_calc_node_cpumask(const struct workqueue_attrs *attrs, int node,
>> int cpu_going_down, cpumask_t *cpumask)
>> {
>> + cpumask_t onl_targ_cm;
>> +
>> if (!wq_numa_enabled || attrs->no_numa)
>> goto use_dfl;
>>
>> /* does @node have any online CPUs @attrs wants? */
>> - cpumask_and(cpumask, cpumask_of_node(node), attrs->cpumask);
>> + cpumask_and(&onl_targ_cm, cpumask_of_node(node), attrs->cpumask);
>> if (cpu_going_down >= 0)
>> - cpumask_clear_cpu(cpu_going_down, cpumask);
>> + cpumask_clear_cpu(cpu_going_down, &onl_targ_cm);
>>
>> - if (cpumask_empty(cpumask))
>> + if (cpumask_empty(&onl_targ_cm))
>> goto use_dfl;
>>
>> /* yeap, return possible CPUs in @node that @attrs wants */
>> cpumask_and(cpumask, attrs->cpumask, wq_numa_possible_cpumask[node]);
>> +
>> + if (cpumask_weight(&onl_targ_cm) > cpumask_weight(cpumask)) {
>> + printk(KERN_INFO "WARNING: WQ cpumask: onl intersect > "
>> + "possible intersect\n");
>> + return false;
>> + }
>
> Yeah, alternatively, we can just add right before returning,
>
> if (WARN_ON(cpumask_empty(cpumask)))
> return false;
>
> Thanks.
>
--
Michael W. Bringmann
Linux Technology Center
IBM Corporation
Tie-Line 363-5196
External: (512) 286-5196
Cell: (512) 466-0650
mwb@...ux.vnet.ibm.com
Powered by blists - more mailing lists