I developed the Intel Thread Director (ITD) / Hardware Feedback Interfce (HFI) device driver to obtain performance/efficiency information for each CPU core, which was implemented to improve the performance of Intel hybrid architecture CPUs. (e.g. Raptor Lake (refresh), Alder Lake, LakeField processors)
This driver simply obtains performance/efficiency information from the CPU and stores it in the "cpu_group" struct data referenced by the ULE scheduler.
However, since the ULE scheduler side is not yet supported, performance/efficiency cannot be improved by installing this driver at this time.
I will try to modify the ULE scheduler side in the future, but I posted this driver first because it can be implemented independently of this driver and it is difficult to modify the ULE scheduler.
There are seven patches, and this is the Part 3.
The ULE scheduler seems to refer to the "cpu_group" structure generated by the SMP code to determine which cores to allocate tasks to.
However, currently it seems that the performance of all cores is treated equally, so in order to be able to change this, I will add the score variable array for each CPU core group to the "cpu_group" structure.