X86: Fix a little mca bug At x86_mcinfo_dump(), a little bug at printk information, illusively indicate an CMCI/POLLED error to a MCE error, this will make debug confusing. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> diff -r 2fe45768d2c1 xen/arch/x86/cpu/mcheck/mce.c --- a/xen/arch/x86/cpu/mcheck/mce.c Tue May 10 13:58:21 2011 +0800 +++ b/xen/arch/x86/cpu/mcheck/mce.c Thu May 19 15:10:07 2011 +0800 @@ -944,10 +944,11 @@ void x86_mcinfo_dump(struct mc_info *mi) printk(XENLOG_WARNING "CPU%d: Machine Check Exception: %16"PRIx64"\n", mc_global->mc_coreid, mc_global->mc_gstatus); - } else { - printk(XENLOG_WARNING "MCE: The hardware reports a non " - "fatal, correctable incident occurred on " - "CPU %d.\n", + } else if (mc_global->mc_flags & MC_FLAG_CMCI) { + printk(XENLOG_WARNING "CMCI occurred on CPU %d.\n", + mc_global->mc_coreid); + } else if (mc_global->mc_flags & MC_FLAG_POLLED) { + printk(XENLOG_WARNING "POLLED occurred on CPU %d.\n", mc_global->mc_coreid); } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 19/05/2011 13:03, "Liu, Jinsong" <jinsong.liu@intel.com> wrote:> X86: Fix a little mca bug > > At x86_mcinfo_dump(), a little bug at printk information, illusively > indicate an CMCI/POLLED error to a MCE error, this will make debug confusing.Is it correct to have entirely removed the final else clause? -- Keir> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> > > diff -r 2fe45768d2c1 xen/arch/x86/cpu/mcheck/mce.c > --- a/xen/arch/x86/cpu/mcheck/mce.c Tue May 10 13:58:21 2011 +0800 > +++ b/xen/arch/x86/cpu/mcheck/mce.c Thu May 19 15:10:07 2011 +0800 > @@ -944,10 +944,11 @@ void x86_mcinfo_dump(struct mc_info *mi) > printk(XENLOG_WARNING > "CPU%d: Machine Check Exception: %16"PRIx64"\n", > mc_global->mc_coreid, mc_global->mc_gstatus); > - } else { > - printk(XENLOG_WARNING "MCE: The hardware reports a non " > - "fatal, correctable incident occurred on " > - "CPU %d.\n", > + } else if (mc_global->mc_flags & MC_FLAG_CMCI) { > + printk(XENLOG_WARNING "CMCI occurred on CPU %d.\n", > + mc_global->mc_coreid); > + } else if (mc_global->mc_flags & MC_FLAG_POLLED) { > + printk(XENLOG_WARNING "POLLED occurred on CPU %d.\n", > mc_global->mc_coreid); > } >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser wrote:> On 19/05/2011 13:03, "Liu, Jinsong" <jinsong.liu@intel.com> wrote: > >> X86: Fix a little mca bug >> >> At x86_mcinfo_dump(), a little bug at printk information, illusively >> indicate an CMCI/POLLED error to a MCE error, this will make debug >> confusing. > > Is it correct to have entirely removed the final else clause? > > -- KeirOf course it''s correct to entirely remove the final else, ..., anyway, it''s just used to pritnk debug info. However, the case MC_FLAG_CMCI and MC_FLAG_POLLED indeed used by cmci and polled handler, disclosing more debug info. depending on your decision :) Thanks, Jinsong> >> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> >> >> diff -r 2fe45768d2c1 xen/arch/x86/cpu/mcheck/mce.c >> --- a/xen/arch/x86/cpu/mcheck/mce.c Tue May 10 13:58:21 2011 +0800 >> +++ b/xen/arch/x86/cpu/mcheck/mce.c Thu May 19 15:10:07 2011 +0800 >> @@ -944,10 +944,11 @@ void x86_mcinfo_dump(struct mc_info *mi) >> printk(XENLOG_WARNING >> "CPU%d: Machine Check Exception: %16"PRIx64"\n", >> mc_global->mc_coreid, mc_global->mc_gstatus); >> - } else { >> - printk(XENLOG_WARNING "MCE: The hardware reports a non " >> - "fatal, correctable incident occurred on " >> - "CPU %d.\n", >> + } else if (mc_global->mc_flags & MC_FLAG_CMCI) { >> + printk(XENLOG_WARNING "CMCI occurred on CPU %d.\n", >> + mc_global->mc_coreid); >> + } else if (mc_global->mc_flags & MC_FLAG_POLLED) { >> + printk(XENLOG_WARNING "POLLED occurred on CPU %d.\n", >> mc_global->mc_coreid); >> }_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel