Intel TurboBoost in practice
mav at FreeBSD.org
Tue Jul 27 18:44:55 UTC 2010
Alan Cox wrote:
> On Mon, Jul 26, 2010 at 9:11 AM, Alexander Motin <mav at freebsd.org
> <mailto:mav at freebsd.org>> wrote:
> In that case using C2 or C3 predictably caused small performance reduce,
> as after falling to sleep, CPU needs time to wakeup. Even if tested CPU0
> won't ever sleep during test, it's TLB shutdown IPIs to other cores
> still probably could suffer from waiting other cores' wakeup.
> In the deeper sleep states, are the TLB contents actually maintained
> while the processor sleeps? (I notice that in some configurations, we
> actually flush dirty data from the cache before sleeping.)
As I understand, we flush caches only as last resort, if platform does
not supports special techniques, such as disabling arbitration or making
CPU to wake up on bus mastering. But same ACPI C-states could map into
different CPU C-states. Some of these CPU states (like C6) could imply
caches invalidation, though I am not sure it can be seen outside.
ACPI 3.0 specification tells nothing about TLBs, so I am not sure we can
count on their invalidation, except we do it ourselves, like it is done
for caches when CPU can't keep their coherency while sleeping.
More information about the freebsd-performance