RFC: Piggy-back monitor-deflation and nmethod-marking on GC

Roman Kennke rkennke at redhat.com
Fri Sep 14 07:36:12 UTC 2018


Regarding those issues:

https://bugs.openjdk.java.net/browse/JDK-8132849
https://bugs.openjdk.java.net/browse/JDK-8132849

I.e. increased pause times caused by monitor-deflation and
nmethod-marking, there has been the suggestion by the reporter to
piggy-back those activities on GC thread-scanning.

We do have code in Shenandoah that does this since quite a while.

The idea is to introduce two new methods in VM_Operation:

  virtual bool deflates_idle_monitors();
  virtual bool marks_nmethods();

That basically tell the runtime whether or not a particular VM_Operation
(e.g. InitMark) can take over any of the two activties, and if so, skip
the corresponding activity in the preceding SP-cleanup phase. This means
that the VM_Operation needs to handle this itself. The change also
includes some changes in sychronizer, thread etc to make this relatively
easy to implement from a GC standpoint.

Question: would there be interest in getting this upstreamed? If so, I
would put together a patch for reviewing.

Alternatively or additionally, at least for monitor deflation, there is
the JEP Draft: Concurrent Monitor Deflation:
https://bugs.openjdk.java.net/browse/JDK-8183909

But this seems like a very serious amount of work.

WDYT?

Roman

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20180914/0a7b7b56/signature.asc>


More information about the hotspot-gc-dev mailing list