RFR: 8301341: LinkedTransferQueue does not respect timeout for poll() [v6]

Viktor Klang duke at openjdk.org
Thu Jul 13 22:47:16 UTC 2023


On Thu, 13 Jul 2023 19:21:01 GMT, Doug Lea <dl at openjdk.org> wrote:

>> This now uses Thread.isVirtual to distinguish spin vs immediate block cases, enabling re-introduction of spin control from the previous version, removing anomalies like this one.
>
> Doug Lea has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into JDK-8301341
>  - Simplify contention handling; fix test
>  - Fix inverted test assert; improve internal documentation; simplify code
>  - Merge branch 'openjdk:master' into JDK-8301341
>  - Overhaul LTQ and SQ to use common blocking and matching mechanics
>  - Merge branch 'openjdk:master' into JDK-8301341
>  - Use Thread.isVirtual to distinguish spin vs immediate block cases

Need to digest this a bit. Will give more concrete feedback ASAP :)

src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java line 180:

> 178:      * increase CAS contention and overhead. Using the smallest
> 179:      * non-zero value of one is both simple and empirically a good
> 180:      * choice in most applicatkions.  The slack value is hard-wired: a

s/applicatkions/applications

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

PR Review: https://git.openjdk.org/jdk/pull/14317#pullrequestreview-1510867492
PR Review Comment: https://git.openjdk.org/jdk/pull/14317#discussion_r1263111307


More information about the core-libs-dev mailing list