Re: [PATCH] gcc 3.1 breaks wchan

Linus Torvalds
2002-04-25T05:00:04Z

On Thu, 25 Apr 2002, Anton Blanchard wrote:
>
> I noticed on a ppc64 kernel compiled with gcc 3.1 that context_switch
> was left out of line. It ended up outside of the
> scheduling_functions_start_here/end_here placeholders which breaks
> wchan.
>
> This is one place where we require the code to be inline, so we should use
> extern.

ABSOLUTELY NOT!

"extern inline" does not guarantee inlining. It only guarantees that _if_
the code isn't inlined, it also won't be compiled as a static function.

Complain to the gcc guys, they've made up some not-backwards-compatible
thing called "always_inline" or something, apparently without any way to
know whether it is supported or not.

Linus