2010-04-18 20:08:58

by Robert P. J. Day

[permalink] [raw]
Subject: is there any chance of cleaning up the "inline" chaos?


i mean, how many different definitions of inline are necessary?

#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
!defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
# define inline inline __attribute__((always_inline))
# define __inline__ __inline__ __attribute__((always_inline))
# define __inline __inline __attribute__((always_inline))
#endif

rday
--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Kernel Pedantry.

Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================


2010-04-18 20:41:28

by Joe Perches

[permalink] [raw]
Subject: Re: is there any chance of cleaning up the "inline" chaos?

On Sun, 2010-04-18 at 16:06 -0400, Robert P. J. Day wrote:
> i mean, how many different definitions of inline are necessary?
>
> #if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
> !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
> # define inline inline __attribute__((always_inline))
> # define __inline__ __inline__ __attribute__((always_inline))
> # define __inline __inline __attribute__((always_inline))
> #endif

Heave to, have at it.

$ git grep -w "inline" * | wc -l
35526
$ git grep -w "__inline__" * | wc -l
872
$ git grep -w "__inline" * | wc -l
17

It looks like __inline is almost exclusively in staging
and should be easy to fix/change

__inline__ is spread around all over the place

$ git grep -wl __inline__ * | wc -l
265

It could be converted over time or in a single sweep
like the recent slab changes.