Intel TurboBoost in practice

Alexander Motin 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.

-- 
Alexander Motin


More information about the freebsd-performance mailing list