Conversation
2d4080f to
170ccf2
Compare
e1afb8f to
77f7045
Compare
|
Only has |
|
This PR description says "[do not merge]". Should this PR be marked "draft"? |
yes, got it, changed this to draft, thanks! |
|
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
|
@phlax thanks! |
1022e44 to
af51018
Compare
|
/retest |
578cc70 to
ce7a135
Compare
Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add IouringWorker interface Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add IoUringWorker and IoUringSocketEntry Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix the IoUringSocket Signed-off-by: He Jie Xu <hejie.xu@intel.com> socket iterface: loading the default socket interface bootstrap extension when startup Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix the IoUringWorker Signed-off-by: He Jie Xu <hejie.xu@intel.com> add test for IoUringWorker Signed-off-by: He Jie Xu <hejie.xu@intel.com> change the unlink return value Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix //test/mocks/io/BUILD format Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add injectCompletion for IoUring Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add injectCompletion to worker and socket Signed-off-by: He Jie Xu <hejie.xu@intel.com> Register worker to io uring instance Signed-off-by: He Jie Xu <hejie.xu@intel.com> add more comment Signed-off-by: He Jie Xu <hejie.xu@intel.com> rename worker file name Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add integration test for io uring worker Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add assertion and doc for IoUring's registerEventfd/unregisterEventfd Signed-off-by: He Jie Xu <hejie.xu@intel.com> using remove_if for removeInjectedCompletion Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add integration test for IoUringWorkerImpl Signed-off-by: He Jie Xu <hejie.xu@intel.com> Merge duplicated injected completions Signed-off-by: He Jie Xu <hejie.xu@intel.com> Pass CompletionCb by ref Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix test for add injected flag Signed-off-by: He Jie Xu <hejie.xu@intel.com> Avoid to recreate socket interface by using the existing one Signed-off-by: He Jie Xu <hejie.xu@intel.com> Decouple IoUringImpl test from IouringFactory Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add IoUringSocketFactoryImpl Signed-off-by: He Jie Xu <hejie.xu@intel.com> update spelling dict Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketEntry: initialize the injected_completions_ Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: delete requests (#30) * io: delete requests Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: add coverage Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> ci: no more premature optimization Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: add coverage Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: asan fix Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> add IoUringSocketHandleImpl and SocketInterfaceImpl Signed-off-by: He Jie Xu <hejie.xu@intel.com> Address comments Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add todo for raw io uring request result Signed-off-by: He Jie Xu <hejie.xu@intel.com> remove duplicated header include Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: use blocking I/O for io_uring Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add empty implementation IoUring for Win and Mac Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add io uring capabilites check Signed-off-by: He Jie Xu <hejie.xu@intel.com> check the probe isn't null Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: server socket should block Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: revert empty io_uring Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: escape non-linux on io_uring Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: escape non-linux on io_uring Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: remove includes Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: fix unexhausted switch branch Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: escape non-linux on io_uring Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add IoUringAcceptSocket Signed-off-by: He Jie Xu <hejie.xu@intel.com> Enable IoUringAcceptSocket in IoUringSocketHandlerImpl Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix io_uring_worker_integration_test Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit: format Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: add io_uring handle integration test Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit: format Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: fix io_uring handle integration test Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: pass io_uring accept error to its caller Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit: fix clang-tidy Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: secure accept socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit: extract configurables to upper class Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: add server socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringAcceptSocket: protect the requests hash set with mutex Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: implement the read and readv Signed-off-by: He Jie Xu <hejie.xu@intel.com> Revert "IoUringAcceptSocket: protect the requests hash set with mutex" This reverts commit cbb3e88. Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: disable server socket since it isn't fully implement yet Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: remove hash set Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: fix tests Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: implement write with buffer Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: add write implement Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: avoid duplciate close Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: ensure submit close when write and read done Signed-off-by: He Jie Xu <hejie.xu@intel.com> improve the log Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: return eagain when all data read Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: return when the write request existed Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: avoid interface change Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: avoid setting blocking on UDP fds Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: avoid clearing write request on injected completions Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: return injected read results Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add write tests for server socket Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: add integration test for activate events Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringWorkerImpl: add test for injection after read Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringWorkerImpl: waiting for all existing sockets closed Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandle: return correct size for write Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: implement the shutdown operation Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: Simplify the implement of shutdown Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: ignore read event when the socket is already closed Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandleImpl: add test for on read after close Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringWorkerImpl: raise close event when remote close happened after socket disabled Signed-off-by: He Jie Xu <hejie.xu@intel.com> tcp tunneling integration test: write more data for waiting response header received Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix the IoUringWorkerImpl unittest Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringWorkerImpl: skip cancel request when read request is nullptr Signed-off-by: He Jie Xu <hejie.xu@intel.com> nit: format and typo Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> network: support recv Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: fix the io_uring_worker_impl_test for asan Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix spell Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: add connect and write timeout Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: rebase write timeout Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: nit Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocket: enable to deliever the remote close as close event Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandle: reset the iouring socket ref when local close Signed-off-by: He Jie Xu <hejie.xu@intel.com> add comments Signed-off-by: He Jie Xu <hejie.xu@intel.com> avoid deliver close event when disable or reset Signed-off-by: He Jie Xu <hejie.xu@intel.com> Enable thread migration Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix the test Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix IoUringHandle test Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: submit read requests for remote close on disabled sockets Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: refactor socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: fix onWrite calling back after shutdown and nit Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix spell Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: avoid duplicate close on accept socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: avoid duplicate cancel on accept socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: loosen constraint due to io_uring read buffer io_uring's read buffer is less then the default one, so there may be more filter actions compared with the default fd behavior. Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> temporary disable accept socket Signed-off-by: He Jie Xu <hejie.xu@intel.com> Revert "temporary disable accept socket" This reverts commit 56d9ddd. Signed-off-by: He Jie Xu <hejie.xu@intel.com> server: initilize the bootstrap extension after worker registered Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> disable server socket temp Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add new onWorkerThreadInitialed method and fix the server tests Signed-off-by: He Jie Xu <hejie.xu@intel.com> add io_socket_handle_base_impl.cc to the exception list Signed-off-by: He Jie Xu <hejie.xu@intel.com> enable server socket again Signed-off-by: He Jie Xu <hejie.xu@intel.com> Test: skip TcpProxyDownstreamFlush test Signed-off-by: He Jie Xu <hejie.xu@intel.com> Submit write event when remote closed and disabled Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix spell Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: move the original socket read buffer after the read request done Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix io uring socket handle test Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandlerImpl: using condition varible to wait for the original socket read req done Signed-off-by: He Jie Xu <hejie.xu@intel.com> increase iouring size Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringAcceptSocket: using mutex instead of atomic Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix the build for MacOs and Wins Signed-off-by: He Jie Xu <hejie.xu@intel.com> remove the AcceptSocketAvoidDuplicateClose test Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringAcceptSocket: always post the close action to the own thread Signed-off-by: He Jie Xu <hejie.xu@intel.com> add comment Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: reset drain tracker when move the data Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketAccept: invoke onLocalClose on the same thread Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUring: release the user data when remove the injected completion Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix the test Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUring: fix the releasor Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocket: add interface to get params Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocketHandle: get parameter from the socket directly Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: using slice instead of BufferFragement Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringSocket: remove the IoHandler Since the IoUringSocketHandleImpl can be destructed in the middle of IoHandler::onRead, then we have to remove IoHandler to decouple the IoUringSocket and IoUringSocketHandleImpl Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix io_uring_worker_impl_test.cc Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix io_uring_worker_impl_integration_test Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix io_uring_socket_handle_impl_test Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix ReleaseIoUringWorkerEarlyThanIohandle Signed-off-by: He Jie Xu <hejie.xu@intel.com> Fix IoUringSocketHandleIntegrationTest Signed-off-by: He Jie Xu <hejie.xu@intel.com> cleanup Signed-off-by: He Jie Xu <hejie.xu@intel.com> Revert DefaultIoUringSize back to 300 Signed-off-by: He Jie Xu <hejie.xu@intel.com> cleanup Signed-off-by: He Jie Xu <hejie.xu@intel.com> cleanup again Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: skip AcceptsConnectionsUpToTheMaximumPerSocketEvent test since this test isn't valid for the io-uring, in the future, we should skip this test based on test parameter. Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: using add instead of move for write Signed-off-by: He Jie Xu <hejie.xu@intel.com> skip IntegrationTest::TestFloodUpstreamErrors test Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringAcceptSocket: initialize the on close callback Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringServerSocket: track cancel request Signed-off-by: He Jie Xu <hejie.xu@intel.com> Disable IoUringAcceptSocket Signed-off-by: He Jie Xu <hejie.xu@intel.com> Enable IoUringAcceptSocket Signed-off-by: He Jie Xu <hejie.xu@intel.com> Disable IoUringAcceptSocket and test again Signed-off-by: He Jie Xu <hejie.xu@intel.com> update dict Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: handle remote closed when the socket is enabled properly Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: add client socket Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> test: skip io_uring expected failed tests Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> io: fix close condition in on connect Signed-off-by: Xie Zhihao <zhihao.xie@intel.com> Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix test Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix the rebase Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUring: add IoUringWorker base Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> Revert back to use BufferFragment Signed-off-by: He Jie Xu <hejie.xu@intel.com> buffer: separate the BufferFragement release and drain tracker Signed-off-by: He Jie Xu <hejie.xu@intel.com> Add tests and fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> remove debug log Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix format Signed-off-by: He Jie Xu <hejie.xu@intel.com> fix spell Signed-off-by: He Jie Xu <hejie.xu@intel.com> IoUringWorker: avoid to run dispatcher when destructing Signed-off-by: He Jie Xu <hejie.xu@intel.com> Change the cq ring overflow assertion to the warn log Signed-off-by: He Jie Xu <hejie.xu@intel.com> skip the mobile test which depends on io behavior Signed-off-by: He Jie Xu <hejie.xu@intel.com>
pipebroken Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
Signed-off-by: He Jie Xu <hejie.xu@intel.com>
6a901d6 to
3932a68
Compare
|
/retest |
|
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
|
This pull request has been automatically closed because it has not had activity in the last 37 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
|
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
|
This pull request has been automatically closed because it has not had activity in the last 37 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
Commit Message: Io uring test
Additional Description:
This PR is just for testing the io uring after rebase with merged PR.
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
Test for #28395