[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 03/11] x86/mce: handle host LMCE
>>> On 04.07.17 at 05:05, <haozhong.zhang@xxxxxxxxx> wrote: > On 07/03/17 09:42 -0600, Jan Beulich wrote: >> >>> On 03.07.17 at 05:46, <haozhong.zhang@xxxxxxxxx> wrote: > [..] >> > void mctelem_process_deferred(unsigned int cpu, >> > - int (*fn)(mctelem_cookie_t)) >> > + int (*fn)(mctelem_cookie_t), >> > + bool lmce) >> > { >> > struct mctelem_ent *tep; >> > struct mctelem_ent *head, *prev; >> > + struct mc_telem_cpu_ctl *mctctl = &per_cpu(mctctl, cpu); >> > int ret; >> > >> > /* >> > * First, unhook the list of telemetry structures, and >> > * hook it up to the processing list head for this CPU. >> > + * >> > + * If @lmce is true and a non-local MC# occurs before the >> > + * following atomic exchange, @lmce will not hold after >> > + * resumption, because all telemetries in @lmce_pending on >> > + * @cpu are moved to @pending on @cpu in mcheck_cmn_handler(). >> > + * In such a case, no telemetries will be handled in this >> > + * function after resumption. Another round of MCE softirq, >> > + * which was raised by above mcheck_cmn_handler(), will handle >> > + * those moved telemetries in @pending on @cpu. >> > + * >> > + * If another MC# occurs after the following atomic exchange, >> > + * it will be handled by another round of MCE softirq. >> >> This restates what the earlier paragraph of the comment already >> says. With these taken care of > > This paragraph is for the case that MC# occurs *after* the atomic > exchange, while the previous paragraph is for the case that MC# occurs > *before* the atomic exchange. Oh, indeed. But isn't that obvious? In which case, re-phrasing it to make clear this is nothing special may help. E.g. "Any MC# occurring after the following atomic exchange will be handled by another round of MCE softirq anyway"? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |