Re: [PATCH] sched: add the inline keyword to the prototype.

From: Paul Turner
Date: Wed Nov 16 2011 - 13:40:27 EST


On 11/16/2011 01:00 AM, Peter Zijlstra wrote:
On Tue, 2011-11-15 at 23:28 -0800, Paul Turner wrote:
On 11/15/2011 10:16 AM, Il Han wrote:
The prototype has to agree with the definition.
Add the inline keyword to the prototype also


Hmm... this would then cause the prototypes to disagree in the
!CONFIG_CFS_BANDWIDTH case.

I'm very sure I've compiled a lot of kernels yesterday with various
permutations including FAIR_GROUP&& !CFS_BANDWIDTH and I'm also very
sure I haven't actually seen any complaints like this.

It this some new fangled GCC 'feature'? I'm currently still on 4.5 which
admittedly is somewhat stale.

gcc (even 4.6) won't give warnings either way about the inline attribute on a forward declaration not matching in either direction. I would imagine this was found by code-inspection.

I was only pointing out with this we have:

#if CONFIG_CFS_BANDWIDTH
static __always_inline xxx() { stuff; } [1]
#else
static xxx() {} [2]
#endif

And that by only changing the pre-declaration to match [1] it now similarly (silently) would not match [2] in the !CONFIG case.

- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/