Re: [2.6 patch] acpi/battery.c: make 2 functions static

From: Sam Ravnborg
Date: Mon Mar 03 2008 - 04:30:59 EST


On Mon, Mar 03, 2008 at 10:17:14AM +0100, Ingo Molnar wrote:
>
> * Adrian Bunk <bunk@xxxxxxxxxx> wrote:
>
> > On Mon, Mar 03, 2008 at 09:57:20AM +0100, Ingo Molnar wrote:
> > >
> > > * Adrian Bunk <bunk@xxxxxxxxxx> wrote:
> > >
> > > > On Sat, Mar 01, 2008 at 09:26:41PM +0300, Alexey Starikovskiy wrote:
> > > > > May I keep them inline?
> > > >
> > > > The problem with such manual inlines is that we force gcc to always
> > > > inline them - and history has shown that functions grow without the
> > > > "inline" being removed.
> > >
> > > what do you mean by "we force gcc to always inline them"?
> >
> > #define inline inline __attribute__((always_inline))
> >
> > > gcc is free to decide whether to inline or to not inline.
> >
> > Not with __attribute__((always_inline)).
>
> but that wasnt used in the code you patched:
>
> -inline int acpi_battery_present(struct acpi_battery *battery)
> +static int acpi_battery_present(struct acpi_battery *battery)

>From compiler-gcc.h:

#define inline inline __attribute__((always_inline))

So unless I am missing something obvious then each time we
say inline to a function we require gcc to inline the function.

It is my impression that today we only say inline if really needed
and otherwise let gcc decide. So in almost all cases inlise should
just be nuked?

Sam
--
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/