KTask Revived For Providing In-Kernel Multi-Threading For CPU Intensive Tasks
KTask aims to speed up kernel tasks with ever increasing CPU core counts and memory sizes, especially now with Threadripper and Intel HEDT systems becoming more commonplace, it's great to see the code revived.
This 2018 revision to KTask addresses the feedback collected last year by earlier rounds of review. The framework is generic enough that other areas of the kernel can easily utilize it for adding concurrency to their code. But in the current form the current kernel code making use of it for faster performance includes VFIO page pinning, deferred struct page initialization, clearing gigantic pages, and fallocate'ing for huge TLB pages. With speeding up heavy areas of the kernel, this can make a positive impact on the boot time besides just being more efficient.
KTask allows more kernel code to easily support concurrency with today's processors.
KTask is worked on by Oracle's Linux team. There is this blog post they put out last year in announcing KTask if you wish to refresh yourself with this proposed kernel framework.
The new patches were posted yesterday to the kernel mailing list and hopefully this framework with more users will be ready for merging into an upcoming cycle to better utilize today's increasing core count systems.