Page MenuHomeFreeBSD

hwpstate_intel: Disable package control on hybrid CPU
ClosedPublic

Authored by aokblast on Jun 1 2026, 9:50 AM.
Tags
None
Referenced Files
F164144197: D57377.id179058.diff
Wed, Jul 29, 3:33 AM
Unknown Object (File)
Sun, Jul 26, 9:29 AM
Unknown Object (File)
Tue, Jul 21, 5:50 PM
Unknown Object (File)
Sat, Jul 18, 9:56 PM
Unknown Object (File)
Sat, Jul 18, 9:00 AM
Unknown Object (File)
Wed, Jul 15, 5:46 AM
Unknown Object (File)
Wed, Jul 15, 5:46 AM
Unknown Object (File)
Fri, Jul 3, 4:16 AM
Subscribers

Details

Summary

In package control mode, the performance of all cores depends on the
most recent value written to the request field. If the last write comes
from an E-core, all cores are forced to align with the E-core
performance level, resulting in significant performance degradation.
Therefore, package control is disabled on hybrid-core systems.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fine like this.

Our discussion elsewhere, mentioning that small_core does not change after initialization, implied that you could even dispense with using the smp_rendezvous_cpus() and directly iterate on per-CPU structures and read the field there, but since this code is run only once on identify, changing what you already coded is not worth it. Maybe this function is going to be helpful in more settings, in which case we can factor it out later (which reminds me I should have a look to recent changes to the HMP revisions).

This revision is now accepted and ready to land.Jun 1 2026, 2:37 PM