RFR: 8322535: Change default AArch64 SpinPause instruction

Evgeny Astigeevich eastigeevich at openjdk.org
Thu Jan 18 13:25:15 UTC 2024


On Wed, 17 Jan 2024 16:42:17 GMT, Andrew Haley <aph at openjdk.org> wrote:

> OK, so now I'm really curious, given that ISB has a lot of work to do because it has to flush and restart a bunch of on-the-fly instructions.

According to our hardware enigeers `isb` don't  need to flush anything. It can just stop fetching instructions until the backend gets idle.  It's clearly faster and cheaper than mul/div instructions. Mul/div will spin up a whole complex arithmetic unit that might otherwise be idle. Except some cases, mul/div don't really pause CPU because CPU can execute instructions around it. For example it can get more loads out into the pipeline.

> Can you provide any links for where it's been shown to use less power?

I don't have data I can share.

Stuart (@stooart-mon) is from arm. He might ask hardware engineers as well. Maybe he knows more or might provide some data.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17430#issuecomment-1898471039


More information about the hotspot-dev mailing list