On Sat, 2012-03-31 at 09:53 +0800, Chen Gong wrote: > 于 2012/3/30 1:07, Luck, Tony 写道: > > + if (mem_err->validation_bits& CPER_MEM_VALID_PHYSICAL_ADDRESS) > > + m.addr = mem_err->physical_addr; > > > > At the moment "addr" is the only useful value in this record ... so > > if we find that we can't supply it because we don't know it - then the > > record has no value, and we might as well not send it. > > > > E.g. start the function with: > > > > if (!(mem_err->validation_bits& CPER_MEM_VALID_PHYSICAL_ADDRESS)) > > return; > > > > -Tony > > > But as Ying said before, in theory we need to support this scenario, > otherwise, I prefer to > add check condition out of this function, not here. > > What's your opinion, Ying? Yes. I have said that. We need to report memory error even without physical address. But now I think maybe we need not to report that in mce in addition to GHES. So my current idea is as follow: - For corrected memory error with address collected via GHES - report it in GHES and MCE (fake bank 1) - Others - report it in GHES only How to filter it is a coding style issue. The filter can be in ghes_do_proc() or apei_mce_report_mem_error(). Both are OK for me. Personally, I prefer to filter it in apei_mce_report_mem_error(). Because it is a MCE trick/quirk instead of GHES trick/quirk. Best Regards, Huang Ying -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html