[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Remove excess MCE debug messages



# HG changeset patch
# User Patrick Colp <Patrick.Colp@xxxxxxxxxx>
# 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@xxxxxxxxxx>

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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.