RFR: 8328473: StringTable and SymbolTable statistics delay time to safepoint [v2]
Coleen Phillimore
coleenp at openjdk.org
Mon Feb 24 18:59:57 UTC 2025
On Mon, 24 Feb 2025 18:41:28 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This change adds a safepoint poll to gathering statistics for the Symbol and String tables, using the ConcurrentHashTableTasks to chunk up the walk. The stringTable and symbolTable is similar, like the GrowTask and DeleteTask code. Maybe this can be cleaned up but I don't have a good idea about that yet that doesn't involve yet another level of templated functions and code. This is already pretty highly templatized.
>> Tested with tier1-4 and runThese internal test with JFR and failure injection to verify that we do try to safepoint while gathering statistics.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Fxi typo.
This patch doesn't change the behavior for the dcmd path, because that's done in a safepoint. I suppose it could be changed to not dump in a safepoint, but are there expectations that running jcmd doesn't block the process? This might be a good RFE though. This patch may improve the granularity of the global counter while dumping.
This fix was for JFR sampling. Maybe a good measurement would be creating N interned strings, system.gc() in a counted loop and another thread doing JFR samples? In one of the microbenchmarks. Maybe the before/after times would be meaningful?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23750#issuecomment-2679382084
More information about the hotspot-dev
mailing list