Re: [PATCH] fs: shave 8 bytes off of struct inode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 12, 2018 at 10:50 AM Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> Just to make sure I understand correctly, do you agree with Jan
> w.r.t original patch that we should leave i_blkbits int?

I think we could make i_blkbits be "u8" too. It really isn't that slow
to load a byte, and i_blkbits isn't that critical.

In fact, most uses of "i_blkbits" are (not surprisingly) for shifting
stuff, which means that on at least x86, you don't even have any
zero-extension issues. The x86 shift instructions only look at the low
6 bits of the count anyway, and any competent compiler will know that
and could skip the zero extension if it's a problem.

Of course, it so happens that gcc seems to use "movzbl mem,%ecx" in my
trivial test, which is either because gcc is stupid or because gcc is
smart knows that movzbl is actually mostly faster than doing "movb
mem,%cl" (possibly due to partial register write stalls, for example).

               Linus



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux