RFC: Piggy-back monitor-deflation and nmethod-marking on GC
rkennke at redhat.com
Fri Sep 14 07:36:12 UTC 2018
Regarding those issues:
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:
But this seems like a very serious amount of work.
More information about the hotspot-runtime-dev