Description of problem: Originally this config was set with the assumption that smaller code size would yield hot cache lines and faster code, but that has not been shown to occur.
Verified through config review. # grep CONFIG_CC_OPTIMIZE_FOR_SIZE /boot/config-3.0.* /boot/config-3.0.18-rt34.53.el6rt.x86_64:CONFIG_CC_OPTIMIZE_FOR_SIZE=y /boot/config-3.0.25-rt44.57.el6rt.x86_64:# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is removed in the new kernel -> VERIFIED
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: * Cause: CONFIG_CC_OPTIMIZE_FOR_SIZE set with assumption that smaller code would yield hot cache lines and good performance * Consequence: this config caused gcc to generate jump-to-jump code which causes cache line bouncing, hurting performance * Fix: turn off CONFIG_CC_OPTIMIZE_FOR_SIZE * Result:slightly larger kernel but better cache utilization
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-0496.html