RFR: 8371380: [LOOM] The debug agent should avoid enabling VIRTUAL_THREAD_START/END events when possible [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Tue Dec 2 06:51:50 UTC 2025


On Thu, 27 Nov 2025 01:36:25 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> Don't enabled VIRTUAL_THREAD_START/END events unless absolutely necessary. Solves performance issues when trying to debug apps that create a lot of virtual threads. Details in first comment.
>> 
>> With these changes the Skynet benchmark no longer shows any slowdown when launching with debugging enabled or when attaching the debugger.
>> 
>> Tested with all tier2, tier3, tier5, and tier6 CI testing (with filters to only run svc tests).
>
> Chris Plummer has updated the pull request incrementally with one additional commit since the last revision:
> 
>   use EventIndex type

src/jdk.jdwp.agent/share/native/libjdwp/threadControl.c line 1321:

> 1319:             if (node != NULL) {
> 1320:                 // This means the vthread has terminated already. This can only happen
> 1321:                 // with vthreads since VIRTUAL_THREAD_END events might not be enable to

Nit: s/might not be enable/might not be enabled/

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28485#discussion_r2579587185


More information about the serviceability-dev mailing list