ACPI / APEI: Make hest.c manage the estatus memory pool

ghes.c has a memory pool it uses for the estatus cache and the estatus
queue. The cache is initialised when registering the platform driver.
For the queue, an NMI-like notification has to grow/shrink the pool
as it is registered and unregistered.

This is all pretty noisy when adding new NMI-like notifications, it
would be better to replace this with a static pool size based on the
number of users.

As a precursor, move the call that creates the pool from ghes_init(),
into hest.c. Later this will take the number of ghes entries and
consolidate the queue allocations.
Remove ghes_estatus_pool_exit() as hest.c doesn't have anywhere to put
this.

The pool is now initialised as part of ACPI's subsys_initcall():
(acpi_init(), acpi_scan_init(), acpi_pci_root_init(), acpi_hest_init())
Before this patch it happened later as a GHES specific device_initcall().

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
James Morse
2019-01-29 18:48:40 +00:00
committed by Rafael J. Wysocki
szülő 0ac234be1a
commit e147133a42
3 fájl változott, egészen pontosan 17 új sor hozzáadva és 28 régi sor törölve

Fájl megtekintése

@@ -52,6 +52,8 @@ enum {
GHES_SEV_PANIC = 0x3,
};
int ghes_estatus_pool_init(void);
/* From drivers/edac/ghes_edac.c */
#ifdef CONFIG_EDAC_GHES