Re: [PATCH 7/7] sched: Silence nested-externs warnings

From: Rustad, Mark D
Date: Fri Sep 19 2014 - 19:26:43 EST


On Sep 19, 2014, at 3:54 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Fri, Sep 19, 2014 at 08:29:40AM -0700, Jeff Kirsher wrote:
>> From: Mark Rustad <mark.d.rustad@xxxxxxxxx>
>>
>> Use diagnostic control macros to ignore nested-externs warnings
>> in this case.
>>
>> CC: Ingo Molnar <mingo@xxxxxxxxxx>
>> CC: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> CC: Brian Norris <computersforpeace@xxxxxxxxx>
>> Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx>
>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
>> ---
>> include/linux/sched.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/include/linux/sched.h b/include/linux/sched.h
>> index 5c2c885..ed52c76 100644
>> --- a/include/linux/sched.h
>> +++ b/include/linux/sched.h
>> @@ -832,7 +832,9 @@ static inline int sched_info_on(void)
>> #ifdef CONFIG_SCHEDSTATS
>> return 1;
>> #elif defined(CONFIG_TASK_DELAY_ACCT)
>> + DIAG_PUSH DIAG_IGNORE(nested-externs)
>> extern int delayacct_on;
>> + DIAG_POP
>> return delayacct_on;
>
> Who has this nested extern warn on in anycase?

They appear in W=2 builds, so you do have to ask for them.

> I've never seen it
> generate a warning. Also WTF is DIAG_PUSH/POP, its not a GCC thing
> afaict.

The first patch in the series adds macros to use the gcc/clang pragmas to control these things. Both compilers have the capability. The macros generate nothing for compilers that lack it.

In any case, this particular one will be resolved instead of silenced.

--
Mark Rustad, Networking Division, Intel Corporation

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail