Page MenuHomeFreeBSD

hwpstate_intel: Disable package control on hybrid CPU
ClosedPublic

Authored by aokblast on Mon, Jun 1, 9:50 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jun 9, 2:51 AM
Unknown Object (File)
Mon, Jun 8, 9:14 AM
Unknown Object (File)
Mon, Jun 8, 9:09 AM
Unknown Object (File)
Mon, Jun 8, 6:42 AM
Unknown Object (File)
Mon, Jun 8, 6:42 AM
Unknown Object (File)
Mon, Jun 8, 6:32 AM
Unknown Object (File)
Mon, Jun 8, 4:07 AM
Unknown Object (File)
Mon, Jun 8, 4:04 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.Mon, Jun 1, 2:37 PM