lkml.org 
[lkml]   [2022]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [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
Date
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.

Something like the below should work as x86 selects SCHED_SMT when
SMP=y.

Thanks,

tglx
---
--- a/include/linux/stop_machine.h
+++ b/include/linux/stop_machine.h
@@ -156,6 +156,12 @@ static __always_inline int stop_machine_
}

static __always_inline int
+stop_core_cpuslocked(unsigned int cpu, cpu_stop_fn_t fn, void *data)
+{
+ return stop_machine_cpuslocked(fn, data, NULL);
+}
+
+static __always_inline int
stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus)
{
return stop_machine_cpuslocked(fn, data, cpus);
--- a/kernel/stop_machine.c
+++ b/kernel/stop_machine.c
@@ -631,6 +631,7 @@ int stop_machine(cpu_stop_fn_t fn, void
}
EXPORT_SYMBOL_GPL(stop_machine);

+#ifdef CONFIG_SCHED_SMT
int stop_core_cpuslocked(unsigned int cpu, cpu_stop_fn_t fn, void *data)
{
const struct cpumask *smt_mask = cpu_smt_mask(cpu);
@@ -649,6 +650,7 @@ int stop_core_cpuslocked(unsigned int cp
return stop_cpus(smt_mask, multi_cpu_stop, &msdata);
}
EXPORT_SYMBOL_GPL(stop_core_cpuslocked);
+#endif

/**
* stop_machine_from_inactive_cpu - stop_machine() from inactive CPU


\
 
 \ /
  Last update: 2022-05-12 11:26    [W:0.119 / U:0.564 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site