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