A patch submitted by the Oracle team is expected to greatly reduce the boot time of the Linux kernel by up to 6% to 49%. Oracle developers pointed out on the mailing list that the patch extends padata to allow it to handle multi-threaded jobs. Padata was originally only a framework that can be used to process multiple parallel single-threaded jobs. The patch adds the ability of padata to evenly distribute work among CPU cores to process multi-threaded jobs. It will allocate the minimum workload to collaborative threads suitable for processing and load balancing among these cooperative threads.
This patch will delay the struct page init in Linux boot, which is a major performance bottleneck during the kernel boot process, it does not require concurrency restrictions, resource control, or priority adjustment. Testing on various x86 systems, the developer found that the patch increased the delayed initialization speed by 63% to 91%, and this can increase the kernel boot speed by 6% to 49%. Especially in a multi-node environment with a lot of RAM, the performance improvement is more obvious.
The improvement of this patch also reduces the time to start the virtual machine, which is very important for the cloud computing environment, because it needs to cope with the changing capacity/demand scaling changes.