eal: use pause only with SSE2
authorIntel <intel.com>
Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 9 Oct 2013 14:04:09 +0000 (16:04 +0200)
commit5140eb165f0f16a79c9022e4770d170d0b8b68f8
tree265b41a1387ee4dc5e6fc901d52c9485383d9724
parentcd5b32ee33ca37828fbcba51c988e13e82645583
eal: use pause only with SSE2

The pause instruction is part of SSE2 extensions.
Note that some compilers define _mm_pause as "rep; nop" instead of "pause".
For compatible processors, they are equivalent.

http://www.intel.com/Assets/PDF/manual/325383.pdf:
"
When executing a spin-wait loop, a Pentium 4 or Intel Xeon processor suffers
a severe performance penalty when exiting the loop because it detects a
possible memory order violation.
The PAUSE instruction provides a hint to the processor that the code sequence
is a spin-wait loop. The processor uses this hint to avoid the memory order
violation in most situations, which greatly improves processor performance.
"

Signed-off-by: Intel
lib/librte_eal/common/include/rte_common.h