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

David Holmes dholmes at openjdk.org
Tue Apr 9 07:00:12 UTC 2024


On Mon, 8 Apr 2024 17:49:22 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> This patch gives the ServiceThread a periodic wakeup (same as GuaranteedSafepointInterval) to check if it needs to clean out OopStorage blocks, and move the triggering of this cleaning out of the safepoint cleanup tasks.  Since ICBuffer, StringTable and SymbolTable rehashing have moved, there's nothing that actually triggers the nop safepoint to do cleaning (except SafepointALot), so the OopStorage cleanup won't be triggered.
>> 
>> With moving all of these out of the safepoint cleanup tasks, we can remove the code that sets up multiple threads to do safepoint cleanup.  We can also remove the JFR events and logging that times safepoint cleanup, and a logging test.
>> 
>> Tested with tier1-4.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Some comment cleanups from Kim.

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?

src/hotspot/share/runtime/globals.hpp line 1288:

> 1286:           "Wake the ServiceThread to do periodic cleanup checks"            \
> 1287:           "(0 means none)")                                                 \
> 1288:           range(0, max_jint)                                                \

The time unit needs to be mentioned - I assume it is ms?

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

PR Review: https://git.openjdk.org/jdk/pull/18375#pullrequestreview-1988237148
PR Review Comment: https://git.openjdk.org/jdk/pull/18375#discussion_r1557031817


More information about the hotspot-dev mailing list