[aarch64-port-dev ] RFR: 8186671: Use `yield` instruction in SpinPause on linux-aarch64

Dmitry Chuyko dmitry.chuyko at bell-sw.com
Thu Aug 24 20:01:12 UTC 2017


On 08/24/2017 10:21 PM, Andrew Haley wrote:
> On 24/08/17 20:16, Ivan Krylov wrote:
>> I recall the discussion about the difference between x86 pause and ARM
>> Yield back when we did the original hotspot patch code review and we
>> never reached a conclusion back than.
>> Looking at the charts that Dmitry provided it seems that the proposed
>> ARM implementation reaches the same goal.
> How do you know what goal it reaches?  It's not been tried on a core that
> implements YIELD.
>
Well, currently it is really more intended to meet one more item from 
Reference Manual:

"The YIELD instruction has no effect in a single-threaded system, but 
developers of such systems can use the
instruction to flag its intended use for future migration to a 
multiprocessor or multithreading system."

Additionally I think that even having single yield=nop can bring tiny 
advantage in heat release on a single core. Alas we don't have means to 
measure it and no authentic vendor information on cpu design in this area.

--
Dmitry


More information about the aarch64-port-dev mailing list