From c86fb12c07a6dc7d878503c1d8ff2de705bf61d7 Mon Sep 17 00:00:00 2001 From: Santosh Sivaraj Date: Fri, 18 Jan 2019 09:22:13 +0530 Subject: 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 Signed-off-by: Santosh Sivaraj Signed-off-by: Stewart Smith --- core/init.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'core') 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(); -- cgit v1.1