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

Alan Bateman alanb at openjdk.org
Fri Aug 5 07:42:11 UTC 2022


On Mon, 1 Aug 2022 09:16:41 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.

This pull request has now been integrated.

Changeset: 5963300c
Author:    Alan Bateman <alanb at openjdk.org>
URL:       https://git.openjdk.org/jdk19/commit/5963300c0c9dfd34c6338fa8195ae18d7b41840c
Stats:     99 lines in 2 files changed: 78 ins; 0 del; 21 mod

8290562: ThreadMXBean.getThread{Cpu,User}Time fails with -XX:-VMContinuations

Reviewed-by: sspitsyn, kevinw, mchung

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

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


More information about the serviceability-dev mailing list