Software Tuning, Performance Optimization & Platform Monitoring
Discussion around monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform monitoring
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
1622 Discussions

pause instruction doesn't seem to reduce cpu usage / elect consumption

JLie
Beginner
172 Views
Hello, I came across the pause assembly instruction which is effective with sse2. I own a core 2 duo from 2007 (Intel(R) Core(TM)2 CPU T7400 @ 2.16GHz) and when used in a spin wait loop, i see no change in cpu usage / electric consumption. i used the same loop as here : https://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/GUID-3488E3... So are there some options to check to be sure it is working ? Even repeated x3000 (yes, a lot) it still shows no improvement. Did I miss something ? jog
0 Kudos
4 Replies
Bernard
Black Belt
172 Views

I suppose that pause instruction delays the execution of the next scheduled to run instruction, but architectural registers context is preserved and this also consumes finite amount of energy.

JLie
Beginner
172 Views
Which means that multiplying the pause instructions will not help having a good granularity on the latency i want to add to the busy loop ? It will always consume more energy than a sleep for the same amount of time (theorically) ?
Patrick_F_Intel1
Employee
172 Views

Hello Jog,

What are you trying to achieve? Current versions of operating systems spend an enormous amount of research trying to be power efficient. Is there some problem you are trying to fix?

Pat

JLie
Beginner
172 Views
Hi Patrick, You are absolutely right, but the fact is that I don't like the way it is. As far as pause is concerned, it is said that interesting power savings are to be gained. Hmmm, not so sure actually. I am a bit disapointed. i thought pause as a mean to add some delay in a busy loop and to finely grain the time one would wait without relying on a system call which is slow. My testings proved I am wrong :)
Reply