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

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

      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.

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

              Created:
              Updated:
              Resolved: