[jdk19] RFR: 8290562: ThreadMXBean.getThread{Cpu, User}Time fails with -XX:-VMContinuations [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Wed Aug 3 17:34:03 UTC 2022


On Wed, 3 Aug 2022 14:37:52 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> ThreadMXBean.getThread{Cpu,User}Time is specified to return -1L when invoked with the id of a virtual thread. This isn't so when running with -XX:-VMContinuations (or ports without support for continuations in the VM) as it returns the cpu/user time of the OS thread that that the virtual thread is bound. A small oversight with JDK-8287496, and missed because our unit test only exercises these methods with the id of the "current virtual thread". The code path when the called with the id that is not the current thread is a different code path.
>> 
>> The change is limited to jmm_GetThreadCpuTimeWithKind.  I didn't change jmm_GetThreadCpuTimesWithKind because it seems to be unused/dead code. I'll create a separate issue to look at that (it doesn't need to be removed/changed for JDK 19).
>> 
>> The test case for this API is expanded to cover more cases where the current thread is special cased in the implementation.
>> 
>> JDK 19 is in RDP2 so this change will require additional approval.
>
> Alan Bateman has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix typo in comment

Marked as reviewed by sspitsyn (Reviewer).

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

PR: https://git.openjdk.org/jdk19/pull/157


More information about the serviceability-dev mailing list