Message ID | 1308640587-24502-2-git-send-email-ying.huang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jun 21, 2011 at 03:16:24PM +0800, Huang Ying wrote: > GHES (Generic Hardware Error Source) is used to process hardware error > notification in firmware first mode. But because firmware first mode > can be turned on but can not be turned off, it is unreasonable to > unload the GHES module with firmware first mode turned on. To avoid > confusion, this patch makes GHES can be enable/disable in > configuration time, but not built as module and unload at run time. It's better to keep it as a module, but disable unloading. You can do that with a __module_get(THIS_MODULE) in the init code when FFM is detected. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, Andi, Thanks for comments! On 06/21/2011 03:23 PM, Andi Kleen wrote: > On Tue, Jun 21, 2011 at 03:16:24PM +0800, Huang Ying wrote: >> GHES (Generic Hardware Error Source) is used to process hardware error >> notification in firmware first mode. But because firmware first mode >> can be turned on but can not be turned off, it is unreasonable to >> unload the GHES module with firmware first mode turned on. To avoid >> confusion, this patch makes GHES can be enable/disable in >> configuration time, but not built as module and unload at run time. > > It's better to keep it as a module, but disable unloading. > You can do that with a __module_get(THIS_MODULE) in the init code > when FFM is detected. There are two ways to turn on firmware first mode 1) APEI bit in generic _OSC call 2) Special APEI _OSC call 1) is run before GHES module loading. If keeping GHES as a module, it is possible that firmware first mode has been turned on with APEI bit in generic _OSC call, but GHES module is prevented to be loaded via some kind of module blacklist. So I think it is better to prevent GHES to be built as module. Best Regards, Huang Ying -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jun 21, 2011 at 09:23:01AM +0200, Andi Kleen wrote: > On Tue, Jun 21, 2011 at 03:16:24PM +0800, Huang Ying wrote: > > GHES (Generic Hardware Error Source) is used to process hardware error > > notification in firmware first mode. But because firmware first mode > > can be turned on but can not be turned off, it is unreasonable to > > unload the GHES module with firmware first mode turned on. To avoid > > confusion, this patch makes GHES can be enable/disable in > > configuration time, but not built as module and unload at run time. > > It's better to keep it as a module, but disable unloading. > You can do that with a __module_get(THIS_MODULE) in the init code > when FFM is detected. Anything that's enabled by an _OSC call is expected to be available immediately. So the choices are either to ensure that GHES support is built in, or to make a second _OSC call when the GHES code is loaded. We've seen in the PCIe case that many firmware implementations misinterpret multiple attempts to set _OSC with the same UUID, and a cursory examination of some implementations of the systemwide one suggest that we'd see the same issue there.
Other than my proviso in 4/4, this set looks good.
--- a/drivers/acpi/apei/Kconfig +++ b/drivers/acpi/apei/Kconfig @@ -10,7 +10,7 @@ config ACPI_APEI error injection. config ACPI_APEI_GHES - tristate "APEI Generic Hardware Error Source" + bool "APEI Generic Hardware Error Source" depends on ACPI_APEI && X86 select ACPI_HED help
GHES (Generic Hardware Error Source) is used to process hardware error notification in firmware first mode. But because firmware first mode can be turned on but can not be turned off, it is unreasonable to unload the GHES module with firmware first mode turned on. To avoid confusion, this patch makes GHES can be enable/disable in configuration time, but not built as module and unload at run time. Signed-off-by: Huang Ying <ying.huang@intel.com> --- drivers/acpi/apei/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html