RFR: 8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive

Erik Österlund eosterlund at openjdk.org
Tue Jan 30 10:53:51 UTC 2024


In the ConcurrentHashTable::statistics_calculate function, we enter and exit a ScopedCS with the global counter for every single bucket. This has showed up to be pretty intense on some machines. We should make the synchronization a bit less intense here. This patch adds simple batching so we synchronize once per 128 buckets instead of every single one.

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

Commit messages:
 - 8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive

Changes: https://git.openjdk.org/jdk/pull/17629/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17629&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324933
  Stats: 28 lines in 1 file changed: 16 ins; 1 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/17629.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17629/head:pull/17629

PR: https://git.openjdk.org/jdk/pull/17629


More information about the hotspot-dev mailing list