On Mon, Jul 21, 2014 at 05:14:06PM +0000, Luck, Tony wrote: > We've evolved a bunch of mechanisms: > > 1) mce_ring: to pass pfn for AO errors from MCE context to a work thread > 2) mce_info: to pass pfn for AR errors from MCE context to same process running in process context > 3) mce_log: to pass entire "mce" structures from any context (MCE, CMCI, or init-time) to /dev/mcelog > > I was actually wondering about going in the other direction. Make the > /dev/mcelog code register a notifier on x86_mce_decoder_chain (and > perhaps move all the /dev/mcelog functions out of mce.c into an actual > driver file). Then use Chen Gong's NMI safe code to just unconditionally > make safe copies of anything that gets passed to mce_log() and run all > the notifiers from his do_mce_irqwork(). > > -Tony OK, I can cook some patches based on Tony's suggestion: patch 1: add a generic lock-less memory pool to save error records patch 2: remove mce_info (Tony has done a draft) patch 3: remove mce_ring patch 4: remove mce log buffer patch 5: move all mce log related logic into a separate file lke mcelog.c under the same directory with mce.c
Attachment:
signature.asc
Description: Digital signature