Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8329593

Drop adjustments to target parallelism when virtual threads do I/O on files opened for buffered I/O

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 23
    • None
    • core-libs
    • b20

    Description

      The following changes have been sitting in the loom repo for sometime, it's time to bring these changes into the main line:

      1. Drop the begin/end compensate around ops on files opened for buffered I/O. Sergery Kuksenko analysis have demonstrated that there isn't any benefit or there is negative benefit, esp. when reading/writing a small number of bytes.

      2. Continue to compensate around the following operations:

      - Object.wait (temporary, will be removed with the object monitor work)
      - Blocking Selector.select operations (temporary, will be removed for the epoll and kqueue Selector implementations with the object monitor work)
      - FileDescriptor.sync
      - MappedByteBuffer/MemorySegment.force
      - File read/write when the file is opened for direct I/O
      - File write when the file is opened for synchronized I/O file integrity.
      - InetAddress lookupByXXX methods in platform resolver
      - System.in/out/err read/write
      - Process input/output/error read/write

      3. Handle reentrancy as might happy if debugging code is added to ForkJoinPool, preempted when attempting to compensate, or potentially forced preemption in the future.

      Attachments

        Issue Links

          Activity

            People

              alanb Alan Bateman
              alanb Alan Bateman
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: