RFR: 8311557: [JVMCI] deadlock with JVMTI thread suspension [v4]
Tom Rodriguez
never at openjdk.org
Thu Aug 10 17:26:28 UTC 2023
> Java based JVMCI compiler threads are more like normal Java threads so they aren't `hidden_from_external_view` like the native compilers. This can leak to deadlocks if you use JVMTI to suspend all threads since this will block the compiler queue and can block execution if background compilation is disabled. It's reasonable to treat libgraal threads like native threads in this regard. Making jargraal threads hidden too would interfere with using profiling and debugging tool on them so I've left that alone but it might be worth changing the JVMTI suspend and resume functions to explicitly skip compiler threads as well.
Tom Rodriguez has updated the pull request incrementally with one additional commit since the last revision:
LibJVMCICompilerThreadHidden should just be EXPERIMENTAL
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14799/files
- new: https://git.openjdk.org/jdk/pull/14799/files/334b0347..124e7283
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14799&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14799&range=02-03
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/14799.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14799/head:pull/14799
PR: https://git.openjdk.org/jdk/pull/14799
More information about the hotspot-compiler-dev
mailing list