Re: [pdx86-platform-drivers-x86:review-hans 46/59] kernel/stop_machine.c:638:35: error: call to undeclared function 'cpu_smt_mask'; ISO C99 and later do not support implicit function declarations

From: Hans de Goede
Date: Thu May 12 2022 - 09:41:20 EST


Hi,

On 5/12/22 13:42, Thomas Gleixner wrote:
> On Thu, May 12 2022 at 11:53, Hans de Goede wrote:
>> On 5/12/22 11:24, Thomas Gleixner wrote:
>>> On Thu, May 12 2022 at 09:29, kernel test robot wrote:
>>>>>> kernel/stop_machine.c:638:35: error: call to undeclared function 'cpu_smt_mask'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>>>> const struct cpumask *smt_mask = cpu_smt_mask(cpu);
>>>
>>> This warning with W=1 is not the worst of the problems.
>>>
>>> The build will simply fail for CONFIG_SMP=y && CONFIG_SCHED_SMT=n
>>> because cpu_smt_mask() cannot be resolved.
>>>
>>> The other issue is CONFIG_SMP=n. This will fail to build the IFS driver
>>> because stop_core_cpuslocked() is not available for SMP=n.
>>
>> The IFS Kconfig already depends on SMP :
>>
>> config INTEL_IFS
>> tristate "Intel In Field Scan"
>> depends on X86 && 64BIT && SMP
>> select INTEL_IFS_DEVICE
>> help
>> Enable ...
>>
>>
>> So I don't think we need the non-SMP implementation inside
>> include/linux/stop_machine.h, we only need the #ifdef you
>> suggest in kernel/stop_machine.c ?
>
> For the case at hand that's sufficient.
>
>> I think it is best to just squash this into the original
>> patch, do you agree ?
>
> Yes.

Ok, I've squashed the #ifdef into kernel/stop_machine.c and done
a forced push. Lets hope that the kernel test robot (lkp) does
not find anything else.

Regards,

Hans