All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: "Rustad, Mark D" <mark.d.rustad@intel.com>
Cc: "sparse@chrisli.org" <sparse@chrisli.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"richard.weinberger@gmail.com" <richard.weinberger@gmail.com>,
	"linux-sparse@vger.kernel.org" <linux-sparse@vger.kernel.org>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"computersforpeace@gmail.com" <computersforpeace@gmail.com>
Subject: Re: [PATCH] sched: Remove nested extern
Date: Mon, 22 Sep 2014 22:05:27 +0200	[thread overview]
Message-ID: <20140922200527.GA3128@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <D428C53D-F663-4846-ACAB-74922033B048@intel.com>

On Mon, Sep 22, 2014 at 07:32:04PM +0000, Rustad, Mark D wrote:
> On Sep 22, 2014, at 12:01 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> 
> > On Mon, Sep 22, 2014 at 10:55:11AM -0700, Mark D Rustad wrote:
> >> Avoid W=2 nested-externs warning by moving the nested extern to
> >> a normal extern. This eliminates that warning which is generated
> >> for every inclusion of sched.h in a kernel build when W=2 is used.
> >> This also removes a point of maintenance if the definition of
> >> delayacct_on were ever to change.
> > 
> > Yeah, so why is that warning worth using? Just disable the warn if
> > you're bothered by it.
> 
> I assume that nested-externs is included in W=2 because many uses of
> them, especially with function prototypes, creates a risk of inconsistent
> declarations. The kernel has a fair number of them that seem to have
> been added to disentangle include files. If they are judged to be
> worthwhile, then it would be good to silence the warnings so that
> attention can be given to other instances of the warnings. If those
> nested externs are not worth the risk, well that is a different conversation.

So would using something like LTO not be way better at actually finding
the problems, seeing how it can actually see the inconsistency in
declarations.

It seems to me that banning the use of nested extern is misguided as
they are a useful tool; they provide some means of keeping symbols from
being globally visible even though they actually are. Its a really poor
man's 'private', but its the best C provides.

Also, why do you care about W=2 nonsense anyhow? They're default
disabled for a reason.

  reply	other threads:[~2014-09-22 20:05 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-19 15:29 [PATCH 0/7] Silence even more W=2 warnings Jeff Kirsher
2014-09-19 15:29 ` [PATCH 1/7] compiler: Add diagnostic control macros Jeff Kirsher
2014-09-19 15:29 ` [PATCH 2/7] x86: Silence initializer-overrides warnings Jeff Kirsher
2014-09-19 15:29   ` Jeff Kirsher
2014-09-19 15:29 ` [PATCH 3/7] atomic: Silence nested-externs warnings Jeff Kirsher
2014-09-19 20:43   ` Peter Zijlstra
2014-09-19 20:43     ` Peter Zijlstra
2014-09-19 20:53     ` Jeff Kirsher
2014-09-19 15:29 ` [PATCH 4/7] bitops: " Jeff Kirsher
2014-09-19 15:29 ` [PATCH 5/7] signal: " Jeff Kirsher
2014-09-19 15:35   ` Richard Weinberger
2014-09-19 15:37     ` Jeff Kirsher
2014-09-19 15:39       ` Richard Weinberger
2014-09-19 17:20         ` Oleg Nesterov
2014-09-19 21:21           ` Josh Triplett
2014-09-19 21:26             ` Rustad, Mark D
2014-09-21 16:42             ` [PATCH 0/1] signal: use BUILD_BUG() instead of _NSIG_WORDS_is_unsupported_size() Oleg Nesterov
2014-09-21 16:43               ` [PATCH 1/1] " Oleg Nesterov
2014-09-22 17:26                 ` Josh Triplett
2014-09-19 15:29 ` [PATCH 6/7] mm: Silence nested-externs warnings Jeff Kirsher
2014-09-19 15:29   ` Jeff Kirsher
2014-09-19 15:29 ` [PATCH 7/7] sched: " Jeff Kirsher
2014-09-19 19:34   ` Richard Weinberger
2014-09-19 20:34     ` Rustad, Mark D
2014-09-19 20:41       ` Richard Weinberger
2014-09-19 20:49         ` Rustad, Mark D
2014-09-22 17:55     ` [PATCH] sched: Remove nested extern Mark D Rustad
2014-09-22 18:25       ` Josh Triplett
2014-09-22 19:01       ` Peter Zijlstra
2014-09-22 19:32         ` Rustad, Mark D
2014-09-22 20:05           ` Peter Zijlstra [this message]
2014-09-22 20:59             ` Rustad, Mark D
2014-09-22 21:21               ` Peter Zijlstra
2014-09-22 21:50                 ` Rustad, Mark D
2014-09-24  7:41                   ` Ingo Molnar
2014-09-24  7:52                     ` Peter Zijlstra
2014-09-24  7:58                       ` Ingo Molnar
2014-09-19 22:54   ` [PATCH 7/7] sched: Silence nested-externs warnings Peter Zijlstra
2014-09-19 23:26     ` Rustad, Mark D
2014-09-22 15:33 ` [PATCH 0/7] Silence even more W=2 warnings Borislav Petkov
2014-09-22 17:06   ` Rustad, Mark D
2014-09-22 18:40     ` Borislav Petkov
2014-09-22 18:59       ` Rustad, Mark D
2014-09-22 19:21         ` Borislav Petkov
2014-09-22 19:44           ` Jeff Kirsher
2014-09-22 19:57             ` Borislav Petkov
2014-09-22 20:09               ` Jeff Kirsher
2014-09-22 20:33                 ` Borislav Petkov
2014-09-22 21:21                   ` Jeff Kirsher
2014-09-23  8:01                     ` Borislav Petkov
2014-09-23  8:01                       ` Borislav Petkov
2014-09-23 14:49                       ` Josh Triplett
2014-09-23 16:08                         ` Borislav Petkov
2014-09-23 16:29                         ` Rustad, Mark D
2014-09-25  7:45                     ` Geert Uytterhoeven
2014-09-25 16:44                       ` Borislav Petkov
2014-09-26 19:37                       ` Rustad, Mark D
2014-09-26 19:58                         ` josh
2014-09-26 21:07                           ` Rustad, Mark D
2014-09-22 21:50                   ` Rustad, Mark D
2014-09-23  8:22                     ` Borislav Petkov
2014-09-23 17:24                       ` Rustad, Mark D
2014-09-23 18:44                         ` Borislav Petkov
2014-09-23 19:04                           ` Joe Perches
2014-09-23 20:43                           ` Rustad, Mark D
2014-09-25  8:27                             ` Borislav Petkov
2014-09-25  0:17                           ` Rustad, Mark D

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=20140922200527.GA3128@worktop.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=computersforpeace@gmail.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=mark.d.rustad@intel.com \
    --cc=mingo@redhat.com \
    --cc=richard.weinberger@gmail.com \
    --cc=sparse@chrisli.org \
    /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.