Home News Intel Releases Linux Patch Set to Optimize Task Allocation for Large and...

Intel Releases Linux Patch Set to Optimize Task Allocation for Large and Small Core CPUs

0

Intel launched a large-scale Linux patch collection campaign in September this year, dividing task categories for mixed CPUs with large and small core designs, and improving the Linux performance of these CPUs by allocating tasks more reasonably. The “call for comments” ended successfully, and Intel released 22 patches on Monday.

The purpose of this work is to improve the performance and efficiency of Intel’s 12th Generation “Alder Lake” and 13th Generation “Raptor Lake” processors. Given that previous proposals around the introduction of IPC classes for load balancing did not receive any strong opposition, the project removed the Request for Comments (RFC) tag, and the next phase aims to be integrated into the Linux Mainline kernel.

On hybrid processors, the microarchitectural properties of different types of CPUs cause them to have different instruction-per-cycle (IPC) capabilities. On some CPUs, the IPC priority of advanced instructions can be higher. A load balancer can discover whether advanced instructions are used and give preference to CPUs with higher IPC for tasks running those instructions.

Hardware is free to divide its instruction set into any number of categories. But there must be a mechanism to identify the class of tasks currently running and tell the kernel how each class of task will perform on each class of CPU.

The patch set released by Intel on Monday introduced the concept of task categories, clarified the interfaces required for hardware implementation, modified the load balancer, and used asymmetric packaging to better utilize this additional information to achieve enhanced performance. Purpose.

Since the release of the original patch, some code improvements have been made based on code review and testing. The CONFIG_SCHED_TASK_CLASSES option was renamed to CONFIG_IPC_CLASSES. This patch series also drops the CONFIG_INTEL_THREAD_DIRECTOR knob. But the rest of the changes are mostly low-level changes.

Exit mobile version