Thomas de Zeeuw
Thomas de Zeeuw
After a1e25956b6e04e9c678293318967db3f2e4b905a some of the cancellation tests have become a bit flaky. It seems io_uring doesn't behave consistent when `IOSQE_ASYNC` is and isn't set, but I'm a 100% sure yet.
Using `IORING_SETUP_NO_MMAP`. Allows for example the use of huge pages.
Using `IORING_REGISTER_RING_FDS`, `IORING_UNREGISTER_RING_FDS`, `IORING_ENTER_REGISTERED_RING` and `IORING_SETUP_REGISTERED_FD_ONLY`.
`IORING_OP_FTRUNCATE`: https://github.com/torvalds/linux/commit/b4bb1900c12e6a0fe11ff51e1aa6eea19a4ad635
`IORING_OP_SYNC_FILE_RANGE`: https://github.com/torvalds/linux/commit/5d17b4a4b7fa172b205be8a05051ae705d1dc3bb `IORING_OP_OPENAT2`: https://github.com/torvalds/linux/commit/cebdb98617ae3e842c81c73758a185248b37cfd6 `IORING_OP_TEE`: https://github.com/torvalds/linux/commit/f2a8d5c7a218b9c24befb756c4eb30aa550ce822 `IORING_OP_SYMLINKAT`: https://github.com/torvalds/linux/commit/7a8721f84fcb3b2946a92380b6fc311e017ff02c `IORING_OP_LINKAT`: https://github.com/torvalds/linux/commit/cf30da90bc3a26911d369f199411f38b701394de
`IORING_OP_FSETXATTR`, `IORING_OP_SETXATTR`: https://github.com/torvalds/linux/commit/e9621e2bec80fe63f677a759066a5089b292f43a `IORING_OP_FGETXATTR`, `IORING_OP_GETXATTR`: https://github.com/torvalds/linux/commit/a56834e0fafe0adf7f22a28a5dbec3e8c3031a0e
`IORING_SETUP_NO_SQARRAY`: https://github.com/torvalds/linux/commit/2af89abda7d9c2aeb573677e2c498ddb09f8058a https://lore.kernel.org/r/0ffa3268a5ef61d326201ff43a233315c96312e0.1692916914.git.asml.silence@gmail.com https://www.spinics.net/lists/io-uring/msg21509.html https://www.spinics.net/lists/io-uring/msg21511.html `SOCKET_URING_OP_SIOCINQ`, `SOCKET_URING_OP_SIOCOUTQ`: https://github.com/torvalds/linux/commit/8e9fad0e70b7b62848e0aeb1a873903b9ce4d7c4
`SOCKET_URING_OP_GETSOCKOPT`: [man/io_uring_prep_cmd.3](https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_cmd.3) https://github.com/torvalds/linux/commit/a5d2f99aff6b6f9cd6a1ab6907d8be8066114791 https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_cmd.3#L7 `SOCKET_URING_OP_SETSOCKOPT`: [man/io_uring_prep_cmd.3](https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_cmd.3) https://github.com/torvalds/linux/commit/4232c6e349f3a591fd0f432e6b858d32095adce6 https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_cmd.3#L7 `IORING_OP_READ_MULTISHOT`: [man/io_uring_prep_read_multishot.3](https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_read_multishot.3) https://github.com/torvalds/linux/commit/fc68fcda049108478ee4704d8a3ad3e05cc72fd0 https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/src/include/liburing.h#L727-L735 `IORING_OP_WAITID`: [man/io_uring_prep_waitid.3](https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/man/io_uring_prep_waitid.3) https://github.com/torvalds/linux/commit/f31ecf671ddc498f20219453395794ff2383e06b https://github.com/axboe/liburing/blob/63f0974a5f4bbc8f18abebe63ac630fe82f77e52/src/include/liburing.h#L1161-L1171 `IORING_OP_FUTEX_WAIT`: `IORING_OP_FUTEX_WAKE`: https://github.com/torvalds/linux/commit/194bb58c6090e39bd7d9b9c888a079213628e1f6 `IORING_OP_FUTEX_WAITV`: https://github.com/torvalds/linux/commit/8f350194d5cfd7016d4cd44e433df0faa4d4a703
Currently most of the tests we have a using regular file descriptors (`AsyncFd`). This is issue about doubling up on all tests writing them in such a way that they...
After #97 only the AddressSanitizer works. * [ ] The ThreadSanitizer detects a data race, look into that. * [ ] The MemorySanitizer detect reading of uninitialised memory after a...