On 7/8/20 1:27 PM, Eric Dumazet wrote:
>
>
> On 7/8/20 12:37 PM, David Miller wrote:
>> From: "YU, Xiangning" <xiangning...@alibaba-inc.com>
>> Date: Thu, 09 Jul 2020 00:38:16 +0800
>>
>>> @@ -111,7 +111,7 @@ bool irq_work_queue_on(struct irq_work *work, int cpu)
>>> return true;
>>> #endif /* CONFIG_SMP */
>>> }
>>> -
>>> +EXPORT_SYMBOL_GPL(irq_work_queue_on);
>>
>> You either removed the need for kthreads or you didn't.
>>
>> If you are queueing IRQ work like this, you're still using kthreads.
>>
>> That's why Eric is asking why you still need this export.
>>
>
> I received my copy of the 2/2 patch very late, I probably misunderstood
> the v2 changes.
>
> It seems irq_work_queue_on() is till heavily used, and this makes me nervous.
>
> Has this thing being tested on 256 cores platform ?
>
Oh well, the answer is no.
...
#define MAX_CPU_COUNT 128 /* make it dynamic */
...
ltb->num_cpus = num_online_cpus();
if (ltb->num_cpus > MAX_CPU_COUNT)
return (ltb->num_cpus > MAX_CPU_COUNT)