lkml.org 
[lkml]   [2004]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [2.6 patch] kill __always_inline
Nigel Cunningham <ncunningham@linuxmail.org> wrote:
>
> Hi.
>
> On Wed, 2004-09-01 at 08:52, Adrian Bunk wrote:
> > On Tue, Aug 31, 2004 at 03:36:49PM -0700, Andrew Morton wrote:
> > > Adrian Bunk <bunk@fs.tum.de> wrote:
> > > >
> > > > An issue that we already discussed at 2.6.8-rc2-mm2 times:
> > > >
> > > > 2.6.9-rc1 includes __always_inline which was formerly in -mm.
> > > > __always_inline doesn't make any sense:
> > > >
> > > > __always_inline is _exactly_ the same as __inline__, __inline and inline .
> > > >
> > > >
> > > > The patch below removes __always_inline again:
> > >
> > > But what happens if we later change `inline' so that it doesn't do
> > > the `always inline' thing?
> > >
> > > An explicit usage of __always_inline is semantically different than
> > > boring old `inline'.
>
> Excuse me if I'm being ignorant, but I thought always_inline was
> introduced because with some recent versions of gcc, inline wasn't doing
> the job (suspend2, which requires a working inline, was broken by it for
> example).

IIRC, the compiler was generating out-of-line versions of functions in
every compilation unit whcih included the header file. When we the
developers just wanted `inline' to mean `inline, dammit'.

If that broke swsusp in some manner then the relevant swsusp functions
should be marked always_inline, because they have some special needs.

> That is to say, doesn't the definition of always_inline vary
> with the compiler version?

If the compiler supports attribute((always_inline)) then the kernel build
system will use that. If the compiler doesn't support
attribute((always_inline)) then we just emit `inline' from cpp and hope
that it works out.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.020 / U:0.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site