RFR: 8329488: Move OopStorage code from safepoint cleanup and remove safepoint cleanup code [v2]

Kim Barrett kbarrett at openjdk.org
Tue Apr 9 18:12:10 UTC 2024


On Tue, 9 Apr 2024 06:57:10 GMT, David Holmes <dholmes at openjdk.org> wrote:

> Looks like a good cleanup! Do we have any data on how often and how much oopStorage needs cleaning up? Any time you go to a polling based approach there are concerns that it may be to frequent or too infrequent. What kind of applications tend to require a lot of oopStorage cleaning?

It was previously intended to be polling too, via safepoint cleanups with the
minimum safepoint cleanup period.  Except the latter has apparently not been
operative for some time.  So in some sense the oopstorage related changes are
a bug fix.  The chosen rates are (and were) pretty arbitrary.

We don't want unused blocks to hang around indefinitely.  On the other hand,
it's wasteful to free empty blocks only to have the application need to
allocate new blocks soon after.

An application that allocates lots of storage entries, uses them for a while,
releases them, and is then quiescent (perhaps only for a while), may provide
grist for cleaning.  String deduplication can have phases like that if some
strings are "medium" lifetime.  I think graal (and maybe C2?) can have that
kind of phasing too.

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

PR Comment: https://git.openjdk.org/jdk/pull/18375#issuecomment-2045805173


More information about the hotspot-dev mailing list