RFR: 8253478: (se) epoll Selector should use eventfd for wakeup instead of pipe [v4]

Brian Burkhalter bpb at openjdk.java.net
Tue Jan 19 21:56:18 UTC 2021


> Please review this change which modifies the Linux `epoll(7)`-based `Selector` to use `eventfd(2)` instead of `pipe(2)` in its wakeup mechanism. The change passes all tier 1-tier 3 tests on Linux. Based on rudimentary testing, there does not appear to be any appreciable change in performance. One improvement however is that only one file descriptor instead of two is used for the wakeup. No test is included as the code is covered well by existing tests.

Brian Burkhalter has updated the pull request incrementally with two additional commits since the last revision:

 - 8253478: jcheck cleanup
 - 8253478: Add micro benchmark, revert IOUtil.write(int,long) addition, reinstate EventFD.set0(), use IOUtil.configureBlocking().

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2082/files
  - new: https://git.openjdk.java.net/jdk/pull/2082/files/8a95f23f..3eca0738

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2082&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2082&range=02-03

  Stats: 93 lines in 5 files changed: 80 ins; 9 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2082.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2082/head:pull/2082

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


More information about the nio-dev mailing list