# HG changeset patch # User Patrick Colp <Patrick.Colp@citrix.com> # Date 1248354987 -3600 # Node ID d2add683d6279ce10a32c57c6fbe99a772e35ad8 # Parent bc3aca17cb88b23bf6bb7c26cbed320f241aa739 Remove excess MCE debug messages. Intel''s recent modifications to the MCE code causes debug messages to be printed when checking the MCE registers and when after checking that the status is OK (0). The registers are periodically checked, which causes a flood of unneeded messages to be dumped to the debug console. This can cause actually important debug messages to be lost as the MCE messages push them out of the console''s visible output range. Signed-off-by: Patrick Colp <Patrick.Colp@citrix.com> diff -r bc3aca17cb88 -r d2add683d627 xen/arch/x86/cpu/mcheck/mce.c --- a/xen/arch/x86/cpu/mcheck/mce.c Thu Jul 23 09:01:30 2009 +0100 +++ b/xen/arch/x86/cpu/mcheck/mce.c Thu Jul 23 14:16:27 2009 +0100 @@ -685,17 +685,14 @@ case MSR_IA32_MCG_STATUS: *lo = (u32)d->arch.vmca_msrs.mcg_status; *hi = (u32)(d->arch.vmca_msrs.mcg_status >> 32); - gdprintk(XENLOG_DEBUG, "MCE: rd MCG_STATUS lo %x hi %x\n", *lo, *hi); break; case MSR_IA32_MCG_CAP: *lo = (u32)d->arch.vmca_msrs.mcg_cap; *hi = (u32)(d->arch.vmca_msrs.mcg_cap >> 32); - gdprintk(XENLOG_DEBUG, "MCE: rdmsr MCG_CAP lo %x hi %x\n", *lo, *hi); break; case MSR_IA32_MCG_CTL: *lo = (u32)d->arch.vmca_msrs.mcg_ctl; *hi = (u32)(d->arch.vmca_msrs.mcg_ctl >> 32); - gdprintk(XENLOG_DEBUG, "MCE: rdmsr MCG_CTL lo %x hi %x\n", *lo, *hi); break; case MSR_IA32_MC0_CTL ... MSR_IA32_MC0_CTL + 4 * MAX_NR_BANKS - 1: bank = (msr - MSR_IA32_MC0_CTL) / 4; @@ -710,8 +707,6 @@ case MSR_IA32_MC0_CTL: *lo = (u32)d->arch.vmca_msrs.mci_ctl[bank]; *hi = (u32)(d->arch.vmca_msrs.mci_ctl[bank] >> 32); - gdprintk(XENLOG_DEBUG, "MCE: rd MC%u_CTL lo %x hi %x\n", - bank, *lo, *hi); break; case MSR_IA32_MC0_STATUS: /* Only error bank is read. Non-error banks simply return. */ @@ -729,8 +724,6 @@ else entry = NULL; } - if ( !entry ) - gdprintk(XENLOG_DEBUG, "MCE: rd MC%u_STATUS\n", bank); break; case MSR_IA32_MC0_ADDR: if ( !list_empty(&d->arch.vmca_msrs.impact_header) ) @@ -807,7 +800,6 @@ break; case MSR_IA32_MCG_STATUS: d->arch.vmca_msrs.mcg_status = value; - gdprintk(XENLOG_DEBUG, "MCE: wrmsr MCG_STATUS %"PRIx64"\n", value); /* For HVM guest, this is the point for deleting vMCE injection node */ if ( d->is_hvm && (d->arch.vmca_msrs.nr_injection > 0) ) { @@ -871,9 +863,6 @@ "MCE: wr MC%u_STATUS %"PRIx64" in vMCE#\n", bank, value); } - else - gdprintk(XENLOG_DEBUG, - "MCE: wr MC%u_STATUS %"PRIx64"\n", bank, value); break; case MSR_IA32_MC0_ADDR: gdprintk(XENLOG_WARNING, "MCE: MC%u_ADDR is read-only\n", bank); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel