Re: [PATCH 2/3] x86/mce: Pack boolean MCE flags into a structure

From: Naveen N. Rao
Date: Thu Sep 06 2012 - 02:50:24 EST


On 09/06/2012 12:26 AM, Tony Luck wrote:
On Wed, Sep 5, 2012 at 3:22 AM, Naveen N. Rao
<naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote:
Many MCE flags are boolean in nature, but are declared as integers
currently. We can pack these into a bitfield to save some space.

Before this patch:
size arch/x86/kernel/cpu/mcheck/mce.o
text data bss dec hex filename
18946 4930 776 24652 604c arch/x86/kernel/cpu/mcheck/mce.o

After:
size arch/x86/kernel/cpu/mcheck/mce.o
text data bss dec hex filename
19335 4890 776 25001 61a9 arch/x86/kernel/cpu/mcheck/mce.o

So we do indeed see "data" reduced by 40 bytes. But
"text" is up by 389. This seems to be because you have
another change, not described in the commit log, buried
in part 2 to add get_dont_log_ce(), set_dont_log_ce() etc.

Compiler version: gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)

I know I'm contradicting the feedback you got from Borislav here, but
is this code churn really worth it to save 40 bytes? I don't think so.

Hmm.. I think I agree. I don't see a good way to get rid of the individual getters and setters without adding some more code churn. I guess using boolean would be better. Boris?


Thanks,
Naveen

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