RFR: 8342818: Implement CPU Time Profiling for JFR [v43]
Johannes Bechberger
jbechberger at openjdk.org
Mon Apr 28 10:42:03 UTC 2025
On Mon, 28 Apr 2025 10:31:05 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
>> Johannes Bechberger has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Improve placement of NoResourceMark
>> - Add more checks for metadata_do
>
> src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp line 556:
>
>> 554: stop_timer();
>> 555: Atomic::store(&_stop_signals, true);
>> 556: while (_active_signal_handlers > 0) {
>
> This will cause the system to hang.
>
> The thread calling disenroll() is a JavaThread, which can get stuck in this while loop here, preventing the system from moving to a safepoint.
I shouldn't get stuck here, as the signal handler is stopped and new signal handler invocations will not be incrementing _active_signal_handlers. Or do you I misunderstand your concerns?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20752#discussion_r2063394392
More information about the hotspot-dev
mailing list