The proposals for sched_ule(4) (D57941) and hmp(4) (D54546, D54547, D54548, D57939) enable CPU core allocation optimization in heterogeneous multi-core environments; however, the only driver currently supporting this is intelhfi(4), designed for Intel hybrid architecture CPUs.
Therefore, as an interim measure, I propose a driver that allows for the manual configuration of performance values for each CPU core via the /boot/loader.conf file or the sysctl interface.
Using this driver makes it possible to benefit from heterogeneous multi-core support in scenarios such as the following:
- Heterogeneous multi-core environments where the hardware does not provide a way to retrieve performance values for individual CPU cores (e.g., AMD Ryzen X3D processors)
- Arm-based big.LITTLE processor environments where no hmp(4) provider driver is available
- Heterogeneous multi-core environments that support hardware-based performance reporting, but where the user prefers to manually configure core performance values instead of using that feature
- Debugging within virtualized environments
This patch adds the manual file for the coreindex(4) driver, which was developed for the purposes described above.