RFR: 8253694: Remove Thread::muxAcquire() from ThreadCrashProtection()

David Holmes dholmes at openjdk.java.net
Wed Sep 30 06:45:41 UTC 2020


On Mon, 28 Sep 2020 06:07:58 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

> Hi all,
> 
> Please review the following patch. Current ThreadCrashProtection() implementation uses static members which requires
> the use of Thread::muxAcquire() to allow only one user at a time. We can avoid this synchronization requirement if each
> thread has its own ThreadCrashProtection *data. I tested it builds on Linux, macOS and Windows. Since the
> JfrThreadSampler is the only one using this I run all the tests from test/jdk/jdk/jfr/. I also run some tests with JFR
> enabled while forcing a crash in OSThreadSampler::protected_task() and tests passed with several "Thread method sampler
> crashed" UL output. Also run tiers1-3.  Thanks, Patricio

Hi Patricio,

This seems fine, but I'm wondering what the motivation for this change was? Adding more per-thread state is arguably
just adding to the clutter of per-thread state. I don't know if this approach was considered when @robehn fixed
JDK-8183925.

Thanks,
David

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

PR: https://git.openjdk.java.net/jdk/pull/376


More information about the hotspot-runtime-dev mailing list