Re: [PATCH] LogFS take three

Rob Landley
2007-05-19T17:28:25Z

On Saturday 19 May 2007 5:24 am, Jan Engelhardt wrote:
>
> On May 19 2007 02:15, Rob Landley wrote:
> >> > +
> >> > +static inline struct logfs_inode *LOGFS_INODE(struct inode *inode)
> >> > +{
> >> > + return container_of(inode, struct logfs_inode, vfs_inode);
> >> > +}
> >>
> >> Do these need to be uppercase?
> >
> >I'm trying to keep it clear in my head...
> >
> >When do you need to say __always_inline and when can you get away with
> >just saying "static inline"?
>
> When using "static inline", the compiler may ignore the inline keyword
> (it's just a hint), and leave the function as a standalone function.
>
> When CONFIG_FORCED_INLINING is active, and it is by default, inline is
> always substituted by __always_inline, to be on the safe side. Some code
> needs to be always inline; but not all code has been checked whether it
> is safe to go from __always_inline to inline.

I've seen patches go by using __always_inline directly. Is there some
janitorial effort to examine each instance of the the inline keyword and
either replace it with "__always_inline" or remove it?

Right now "inline" seems to be about as useful as the "register" keyword. You
don't feed hints to a compiler like gcc, you hit it with a two-by-four and
thumbscrews if you want to get its' attention.

Rob