* Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > The definition of sysctl_sched_migration_cost, sysctl_sched_nr_migrate > and sysctl_sched_time_avg includes the attribute const_debug. This > attribute is not part of the extern declaration of these variables in > include/linux/sched/sysctl.h, as a result clang generates warnings like > this: > > kernel/sched/sched.h:1618:33: warning: section attribute is specified on > redeclared variable [-Wsection] > extern const_debug unsigned int sysctl_sched_time_avg; > ^ > ./include/linux/sched/sysctl.h:42:21: note: previous declaration is here > extern unsigned int sysctl_sched_time_avg; > > The header only declares the variables when CONFIG_SCHED_DEBUG is defined, > therefore it is not necessary to duplicate the definition of const_debug > (or put it in a common header). Instead we can use the attribute > __read_mostly, which is the expansion of const_debug when CONFIG_SCHED_DEBUG > is set. > > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > --- > include/linux/sched/sysctl.h | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h > index 0f5ecd4d298e..f09afd55ecb5 100644 > --- a/include/linux/sched/sysctl.h > +++ b/include/linux/sched/sysctl.h > @@ -1,6 +1,7 @@ > #ifndef _LINUX_SCHED_SYSCTL_H > #define _LINUX_SCHED_SYSCTL_H > > +#include <linux/static_key.h> > #include <linux/types.h> > > struct ctl_table; > @@ -37,9 +38,9 @@ extern unsigned int sysctl_numa_balancing_scan_period_max; > extern unsigned int sysctl_numa_balancing_scan_size; > > #ifdef CONFIG_SCHED_DEBUG > -extern unsigned int sysctl_sched_migration_cost; > -extern unsigned int sysctl_sched_nr_migrate; > -extern unsigned int sysctl_sched_time_avg; > +extern __read_mostly unsigned int sysctl_sched_migration_cost; > +extern __read_mostly unsigned int sysctl_sched_nr_migrate; > +extern __read_mostly unsigned int sysctl_sched_time_avg; Why does <linux/static_key.h> get included? The header has nothing to do with those sysctls nor with __read_mostly. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html