Re: [Xen-devel] [PATCH v4 03/11] x86/mce: handle host LMCE

2017-06-28 Thread Jan Beulich
>>> 06/29/17 5:29 AM >>> >On 06/27/17 01:13 -0600, Jan Beulich wrote: >> >>> Haozhong Zhang 06/26/17 11:17 AM >>> >> >+ if (mctctl->pending) >> >+ mctelem_xchg_head(&mctctl->pending, &tep->mcte_next, tep); >> >+ else if (lmce) >> >+ mctelem_xchg_head(&mctctl->lmce_pending,

Re: [Xen-devel] [PATCH v4 03/11] x86/mce: handle host LMCE

2017-06-28 Thread haozhong.zhang
On 06/27/17 01:13 -0600, Jan Beulich wrote: > >>> Haozhong Zhang 06/26/17 11:17 AM >>> > >+/** > >+ * Append a telemetry of deferred MCE to a per-cpu pending list, > >+ * either @pending or @lmce_pending, according to rules below: > >+ * - if @pending is not empty, then the new telemetry will be

Re: [Xen-devel] [PATCH v4 03/11] x86/mce: handle host LMCE

2017-06-27 Thread Jan Beulich
>>> Haozhong Zhang 06/26/17 11:17 AM >>> >+/** >+ * Append a telemetry of deferred MCE to a per-cpu pending list, >+ * either @pending or @lmce_pending, according to rules below: >+ * - if @pending is not empty, then the new telemetry will be >+ *appended to @pending; >+ * - if @pending is e

[Xen-devel] [PATCH v4 03/11] x86/mce: handle host LMCE

2017-06-26 Thread Haozhong Zhang
A round of mce_softirq() may handle multiple deferred MCE's. 1/ If all of them are LMCE's, then mce_softirq() is called on one CPU and should not wait for others. 2/ If at least one of them is non-local MCE, then mce_softirq() should sync with other CPUs. mce_softirq() should check those