rkennke at redhat.com
Tue Nov 21 21:40:59 UTC 2017
>> > I’m not familiar with the InlineCacheBuffer at all. How important is it
>> > to execute InlineCacheBuffer::update_inline_caches() at regular
>> > intervals? Would a modified heuristic, like "a safepoint is required if
>> > the buffer is >P% full" (maybe in conjunction with increasing the buffer
>> > size) be reasonable? Or maybe increase the value of
>> > GuaranteedSafepointInterval? Or both?
>> I think such a modified heuristic would be reasonable.
>> > Note that the overhead of the non-VM op safepoints is actually
>> > negligible. I’d just like to try to cut down the number of safepoints we
>> > do, as we had issues in the past with safepoint initiation taking too long.
>> I can feel your pain.
> I’m all for decreasing the overhead of the various cleanups that are
> done pre-safepoint (and thanks for the pointers). But, I’m also
> interested in just decreasing the number of safepoints that we do, if
> they are not absolutely necessary.
I agree it would be useful to extend the heuristics to do something
similar to what ObjectSynchronizer::is_cleanup_needed() does: check
actual usage of InlineCacheBuffer, and compare it to a threshold, and
let the threshold be configurable via cmd line option.
More information about the hotspot-compiler-dev