RFR: 8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive [v2]

Erik Österlund eosterlund at openjdk.org
Tue Feb 13 15:09:15 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.

Erik Österlund has updated the pull request incrementally with one additional commit since the last revision:

  Update src/hotspot/share/utilities/concurrentHashTable.inline.hpp
  
  Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17629/files
  - new: https://git.openjdk.org/jdk/pull/17629/files/f0b8f46a..a6a7e3c8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17629&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17629&range=00-01

  Stats: 9 lines in 1 file changed: 0 ins; 7 del; 2 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