On Fri, Jun 21, 2013 at 01:44:00AM +0530, Naveen N. Rao wrote:This won't work across cpu offline/online, right? We will end up
_not_ enabling CMCI on certain banks where we should have.
Huh, don't understand. cmci_discover runs on each CPU. After you've run
hest_parse_cmc early during boot and cleared the mce_poll_banks bits,
nothing will set them again so CPU hotplug doesn't matter...
Another thing: for hest_parse_cmc(), does the below look good?
cmc = (struct acpi_hest_ia_corrected *)hest_hdr;
if (!cmc->enabled)
return 0;
#define ACPI_HEST_PARSING_DONE 1
/*
* We expect HEST to provide a list of MC banks that
* report errors in firmware first mode.
*/
if (!(cmc->flags & ACPI_HEST_FIRMWARE_FIRST) ||
!cmc->num_hardware_banks)
return ACPI_HEST_PARSING_DONE;
The return value doesn't really matter since we don't check it, but
returning an error looked like the wrong thing to do as well.
I'd add a comment above the "return 1" statement to explain why I'm
doing this. It is much more verbose even than a well-named macro :)