
On Wed, Apr 23, 2008 at 05:44:27PM -0600, Marc Jones wrote:
On APs the ClLinesToNbDis was being left enabled from CAR setup. Disabling it should help performance.
Signed-off-by: Marc Jones <marc.jones@amd.com>
Acked-by: Peter Stuge <peter@stuge.se>
+ msr_t msr; + + /* Disable L2 IC to L3 connection (Only for CAR) */ + msr = rdmsr(BU_CFG2); + msr.lo &= ~(1 << ClLinesToNbDis); + wrmsr(BU_CFG2, msr);
Maybe add some functions? Or macro? void msr_set(const unsigned index, const msr_t set) { msr_t msr; msr=rdmsr(index); msr.lo|=set.lo; msr.hi|=set.hi; wrmsr(index,msr); } void msr_set_lo(const unsigned index, const unsigned set_lo) { msr_t msr; msr=rdmsr(index); msr.lo|=set_lo; wrmsr(index,msr); } void msr_set_hi(const unsigned index, const unsigned set_hi) { msr_t msr; msr=rdmsr(index); msr.hi|=set_hi; wrmsr(index,msr); } void msr_clear(const unsigned index, const msr_t clear) { msr_t msr; msr=rdmsr(index); msr.lo&=~clear.lo; msr.hi&=~clear.hi; wrmsr(index,msr); } void msr_clear_lo(const unsigned index, const unsigned clear_lo) { msr_t msr; msr=rdmsr(index); msr.lo&=~clear_lo; wrmsr(index,msr); } void msr_clear_hi(const unsigned index, const unsigned clear_hi) { msr_t msr; msr=rdmsr(index); msr.hi|=~clear_hi; wrmsr(index,msr); } I can make a patch, msr.h right? //Peter