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

Andrew Haley aph at redhat.com
Thu Aug 24 19:08:56 UTC 2017


On 24/08/17 16:33, Dmitry Chuyko wrote:
> I can imagine yield making entire app throughput higher in SMT case if 
> it gives more cycles to neighbor strand.

Maybe.

> How do you see typical yield usage with opposite semantics?

Derek's post explained the differences at considerable length: I
don't think I have anything to add.  I will say, though, that this
intrinsic exists for the Intel instruction, and no consideration was
given to ARM.

> What are other possible implementations for the intrinsic?

The current one (i.e. do nothing) is not obviously harmful.

> I'd say that even issuing 2-4 NOP instructions may be useful in both SMT 
> and temporal MT case.

Yes, they may.  I'd welcome some measurements of an actual implementation.

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the aarch64-port-dev mailing list