RFR: 8325437: Safepoint polling in monitor deflation can cause massive logs
Daniel D. Daugherty
dcubed at openjdk.org
Thu Feb 8 15:55:05 UTC 2024
On Wed, 7 Feb 2024 15:35:16 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
> If `-Xlog:monitorinflation=debug` is used and `ObjectSynchronizer::chk_in_use_entry` is called while monitor deflation is safepoint polled/blocked, we can have deflated monitors on the in-use list and we can get a huge number of lines stating:
>
> [10.570s][debug][monitorinflation] WARNING: monitor=0x00007fa1004f8480: in-use monitor is deflated.
>
>
> This comes from the following code:
>
> void ObjectSynchronizer::chk_in_use_entry(ObjectMonitor* n, outputStream* out,
> int* error_cnt_p) {
> if (n->owner_is_DEFLATER_MARKER()) {
> // This should not happen, but if it does, it is not fatal.
> out->print_cr("WARNING: monitor=" INTPTR_FORMAT ": in-use monitor is "
> "deflated.", p2i(n));
> return;
> }
>
>
> There are tentative plans to rewrite the monitor deflation to unlink deflated monitors from the in-use list *before* the safepoint polls, but I'd like to suggest that we make an interim patch that deletes this warning.
Sorry, I forgot to finish my review yesterday.
This looks fine. This WARNING mesg was from an era when I was trying to
make sure that idle ObjectMonitors were cleaned up as much as possible.
While that was a useful exercise when we were hunting down async monitor
deflation bugs, we're no longer trying to religiously make sure that idle
ObjectMonitors are deflated. Instead we're focused on trying to avoid inflation
unless absolutely necessary.
-------------
Marked as reviewed by dcubed (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17752#pullrequestreview-1870596858
More information about the hotspot-runtime-dev
mailing list