powerpc/eeh: Move EEH initialization around
Currently, we have 3 phases for EEH initialization on pSeries platform. All of them are done through builtin functions: platform initialization, EEH device creation, and EEH subsystem enablement. All of them are done no later than ppc_md.setup_arch. That means that the slab/slub isn't ready yet, so we have to allocate memory chunks on basis of PAGE_SIZE for those dynamically created EEH devices. That's pretty expensive. In order to utilize slab/slub for memory allocation, we have to move the EEH initialization functions around, but all of them should be called after slab is ready. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
407821a34f
commit
35e5cfe27e
@@ -388,10 +388,8 @@ static void __init pSeries_setup_arch(void)
|
||||
|
||||
/* Find and initialize PCI host bridges */
|
||||
init_pci_config_tokens();
|
||||
eeh_pseries_init();
|
||||
find_and_init_phbs();
|
||||
pSeries_reconfig_notifier_register(&pci_dn_reconfig_nb);
|
||||
eeh_init();
|
||||
|
||||
pSeries_nvram_init();
|
||||
|
||||
|
Reference in New Issue
Block a user