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