Re: [RFC] Slimming down struct inode

Avi Kivity
2006-06-13T20:25:33Z

Jan Engelhardt wrote:
>>>> if (inode->i_ops->getblksize)
>>>> return inode->i_ops->getblksize(inode);
>>>> else
>>>> return inode->i_sb->s_blksize;
>>>>
>>>> Trading some efficiency for space.
>>>>
>>> Yep, that was what I was planning on doing....
>>>
>>>
>> Maybe
>>
>> if (inode->i_sb->s_blksize)
>> return inode->i_sb->s_blksize;
>> else
>> ...
>>
>> is a tiny little bit faster...
>>
>>
>
> The compiler will anyway pick the one it thinks is better by itself.
> Influence can be taken using likely/unlikely of course.
>

The compiler cannot infer that (inode->i_ops->getblksize == 0) is
equivalent to (inode->i_sb->s_blksize != 0).

Maybe someday the language will allow us to specify it, but not today.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.