aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorSantosh Sivaraj <santosh@fossix.org>2019-01-18 09:22:13 +0530
committerStewart Smith <stewart@linux.ibm.com>2019-02-25 21:59:03 -0600
commitc86fb12c07a6dc7d878503c1d8ff2de705bf61d7 (patch)
treefa7ef3f14226183cc52e753dae6fd4b7218c55ea /core
parent3ac2db0a83e70bb7768c64b3fbf480e326c07d10 (diff)
downloadskiboot-c86fb12c07a6dc7d878503c1d8ff2de705bf61d7.zip
skiboot-c86fb12c07a6dc7d878503c1d8ff2de705bf61d7.tar.gz
skiboot-c86fb12c07a6dc7d878503c1d8ff2de705bf61d7.tar.bz2
imc/catalog: Decompress catalog asynchronously
In-Memory Collection(IMC) counters catalog is compressed blob which is loaded from the flash; decompression starts once the data is loaded from nvram by the main thread. This can be optimized by using the libxz API function which creates a job to do the decompression by not blocking the main thread. Refactor decompress() to use the libxz asynchronous wrapper functions. This also cleans up the error handling path in imc_init(). CC: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Signed-off-by: Santosh Sivaraj <santosh@fossix.org> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core')
-rw-r--r--core/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/init.c b/core/init.c
index 132a42a..6630a92 100644
--- a/core/init.c
+++ b/core/init.c
@@ -1201,6 +1201,9 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
preload_capp_ucode();
start_preload_kernel();
+ /* Catalog decompression routine */
+ imc_decompress_catalog();
+
/* Virtual Accelerator Switchboard */
vas_init();