[PATCH] LogFS take three

Rob Landley rob at landley.net
Sat May 19 13:26:30 EDT 2007


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




More information about the linux-mtd mailing list