From: Matthias Kaehlcke <mka@chromium.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Shile Zhang <shile.zhang@nokia.com>,
linux-kernel@vger.kernel.org,
Nick Desaulniers <nick.desaulniers@gmail.com>,
Douglas Anderson <dianders@chromium.org>,
Guenter Roeck <groeck@chromium.org>
Subject: Re: [PATCH] sched/sysctl: Fix attributes of some extern declarations
Date: Mon, 30 Oct 2017 10:27:10 -0700 [thread overview]
Message-ID: <20171030172710.GE96615@google.com> (raw)
In-Reply-To: <20171030082612.omuaefugp5nmnnfy@hirez.programming.kicks-ass.net>
El Mon, Oct 30, 2017 at 09:26:12AM +0100 Peter Zijlstra ha dit:
> On Fri, Oct 27, 2017 at 04:40:20PM -0700, Matthias Kaehlcke 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;
>
> Since they're already declared in sched/sysctl.h this redeclaration in
> sched/sched.h seems pointless.
We could remove it, but it would require to move the definition of
const_debug to the 'globally' visible header sched/sysctl.h. Would
that be your preference? In that case we should probably use a more
unique name, like const_sched_debug.
> > ./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@chromium.org>
> > ---
> > 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;
>
> That extra include also seems entirely pointless.
Sorry, I wrongly associated the header with const_debug/__read_mostly
since it is included right before the definition of const_debug. I
should have double-checked.
next parent reply other threads:[~2017-10-30 17:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20171027234020.26927-1-mka@chromium.org>
[not found] ` <20171030082612.omuaefugp5nmnnfy@hirez.programming.kicks-ass.net>
2017-10-30 17:27 ` Matthias Kaehlcke [this message]
2017-10-30 17:42 ` [PATCH] sched/sysctl: Fix attributes of some extern declarations Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171030172710.GE96615@google.com \
--to=mka@chromium.org \
--cc=dianders@chromium.org \
--cc=groeck@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=nick.desaulniers@gmail.com \
--cc=peterz@infradead.org \
--cc=shile.zhang@nokia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.