On 08/27/2012 07:48 PM, Borislav Petkov wrote:
On Mon, Aug 27, 2012 at 03:58:59PM +0200, Andi Kleen wrote:
On Mon, Aug 27, 2012 at 04:55:03PM +0530, Naveen N. Rao wrote:
Many MCE boot flags are boolean in nature, but are declared as integers
currently. We can pack these into a bitfield to save some space.

Note that this doesn't necessarily save anything because it needs more
code to access, and accesses are more common than the flag

        cmpl  $0,foo(%rip)            7 bytes
         testl $1,foo(%rip)           10 bytes

I got 7 bytes:

12e9:       f6 05 00 00 00 00 02    testb  $0x2,0x0(%rip)        # 12f0 
<mce_start_timer.isra.18+0x30>

vs the old:

1654:       83 3d 00 00 00 00 00    cmpl   $0x0,0x0(%rip)        # 165b 
<mce_start_timer.clone.15+0x37>

also 7 bytes.


I'm seeing the same here. GCC v4.7 with -O2 generates testb and cmpb, which are both 7 bytes long.

Thanks,
Naveen

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to