RFR: 8280139: Report more detailed statistics about task stealing in task queue stats [v2]

Thomas Schatzl tschatzl at openjdk.java.net
Thu Jan 20 11:11:22 UTC 2022


> Hi all,
> 
>   can I have reviews that improves task queue statistics?
> 
> This is a step to see problems with task queue in general and measure future task stealing improvements in GC; particularly contention on steal information has shown to be correlated to performance, so information about basic occurrences during stealing (how many empty, how many contended, how many contended in a row, max contended accesses in a row) in the task queue is very interesting for further performance work.
> 
> Old output of `gc+tasks+stats=trace` after compiling in these statistics:
> 
> thr      qpush       qpop     qpop-s   qattempt     qsteal      opush       omax
> --- ---------- ---------- ---------- ---------- ---------- ---------- ----------
>   0    3777115    3776816       3872      17434       9630          0          0
> 
> And new:
> 
> thr        push         pop    pop-slow  st-attempt    st-empty     st-ctdd  st-success st-ctdd-max st-biasdrop  ovflw-push   ovflw-max
> --- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
>   0     4616264     4616218        3608       12945           1        1650       11294           5        9405           0           0
> [...]
> 
> The first four columns stayed the same, then the `qsteal` has been split up into the various steal results (empty/contended/success). `st_ctdd_max` gives the maximum amount of contended steal attempts in a row. `st_biasdrop` shows how many times the steal bias has been dropped (reset).
> `ovflw-push` and `ovfl-max` are the same as before, just renamed a bit to use the available space.
> 
> There has been no intention to change anything about the algorithm, so there is no need for perf testing (I can see). Later changes will do that.
> 
> Thanks,
>   Thomas

Thomas Schatzl has updated the pull request incrementally with two additional commits since the last revision:

 - Some further cleanup
 - kbarrett review

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7143/files
  - new: https://git.openjdk.java.net/jdk/pull/7143/files/4236e2d9..60b25d7a

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7143&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7143&range=00-01

  Stats: 49 lines in 2 files changed: 20 ins; 8 del; 21 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7143.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7143/head:pull/7143

PR: https://git.openjdk.java.net/jdk/pull/7143



More information about the hotspot-gc-dev mailing list