RFR: 8301341: LinkedTransferQueue does not respect timeout for poll() [v10]
Jaikiran Pai
jpai at openjdk.org
Wed Jul 3 01:33:35 UTC 2024
On Fri, 21 Jul 2023 16:42:25 GMT, Doug Lea <dl at openjdk.org> wrote:
>> This update addresses performance issues across both LinkedTransferQueue and SynchronousQueue by creating a common basis for implementation across them (mainly in LinkedTransferQueue). Pasting from internal doc summary of changes:
>> * * Class DualNode replaces Qnode, with fields and methods
>> * that apply to any match-based dual data structure, and now
>> * usable in other j.u.c classes. in particular, SynchronousQueue.
>> * * Blocking control (in class DualNode) accommodates
>> * VirtualThreads and (perhaps virtualized) uniprocessors.
>> * * All fields of this class (LinkedTransferQueue) are
>> * default-initializable (to null), allowing further extension
>> * (in particular, SynchronousQueue.Transferer)
>> * * Head and tail fields are lazily initialized rather than set
>> * to a dummy node, while also reducing retries under heavy
>> * contention and misorderings, and relaxing some accesses,
>> * requiring accommodation in many places (as well as
>> * adjustments in WhiteBox tests).
>
> 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 13 additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into JDK-8301341
> - Address more review comments
> - Address review comments
> - nitpicks
> - Merge branch 'openjdk:master' into JDK-8301341
> - Accommodate white-box tests; use consistent constructions; minor improvements
> - 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
> - ... and 3 more: https://git.openjdk.org/jdk/compare/37ac993c...f53cee67
Like Doug notes, the JDK backports are managed as a separate project. Details are available here https://openjdk.org/projects/jdk-updates/. For JDK 17 the corresponding project is https://wiki.openjdk.org/display/JDKUpdates/JDK+17u which has the necessary details about the process as well as the mailing list details where you can bring up the backporting question.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14317#issuecomment-2204851286
More information about the core-libs-dev
mailing list