This change is based on Sam Bobroff's patches which aimed to allow recovery to happen in parallel between PHBs and PEs, Due to various reasons the patches did not get in.
But having parallel recovery between PHBs is fairly simple and gives significant improvement on powervm, Since powervm maintains flat hierarchy for PCI devices. This patch enables PHBs to have separate event queues and shorten the time taken for EEH recovery by making the recovery to run in parallel between PHBs. On powervm with 64 VFs from same PHB, I see approximately 48% reduction in time taken in EEH recovery. On powernv the improvement is not so significant. Ganesh Goudar (1): powerpc/eeh: Enable PHBs to recovery in parallel arch/powerpc/include/asm/eeh_event.h | 7 +++++ arch/powerpc/include/asm/pci-bridge.h | 4 +++ arch/powerpc/kernel/eeh_driver.c | 27 +++++++++++++++++-- arch/powerpc/kernel/eeh_event.c | 38 ++++++++++++++++++++++++++- arch/powerpc/kernel/eeh_pe.c | 4 +++ 5 files changed, 77 insertions(+), 3 deletions(-) -- 2.43.2