$ sudo sysctl kernel.io_uring_disabled=2
|
kernel.io_uring_disabled = 2
|
|
$ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1
|
2025-04-16 15:59:03 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278330
|
2025-04-16 15:59:03 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 15:59:03 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 15:59:03 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 15:59:03 0 [Note] InnoDB: Using Linux native AIO
|
|
$ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1
|
2025-04-16 15:59:51 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278427
|
2025-04-16 15:59:51 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 15:59:51 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 15:59:51 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 15:59:51 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
|
2025-04-16 15:59:51 0 [Warning] InnoDB: io_uring failed: falling back to libaio
|
2025-04-16 15:59:51 0 [Note] InnoDB: Using Linux native AIO
|
|
$ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1
|
2025-04-16 16:00:15 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278480
|
2025-04-16 16:00:15 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 16:00:15 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 16:00:15 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 16:00:15 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
|
2025-04-16 16:00:15 0 [Warning] InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF
|
|
$ sudo sysctl kernel.io_uring_disabled=0
|
kernel.io_uring_disabled = 0
|
(base)
|
~/repos/build-mariadb-server-10.6
|
$ mariadblocaldirect --innodb-linux-aio=auto --innodb-use-native-aio=1
|
2025-04-16 16:01:16 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278569
|
2025-04-16 16:01:16 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 16:01:16 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 16:01:16 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 16:01:16 0 [Note] InnoDB: Using io_uring
|
|
$ mariadblocaldirect --innodb-linux-aio=io_uring --innodb-use-native-aio=1
|
2025-04-16 16:01:41 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278603
|
2025-04-16 16:01:41 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 16:01:41 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 16:01:41 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 16:01:41 0 [Note] InnoDB: Using io_uring
|
|
$ mariadblocaldirect --innodb-linux-aio=aio --innodb-use-native-aio=1
|
2025-04-16 16:02:00 0 [Note] Starting MariaDB 10.6.22-MariaDB source revision 5157b6eb09e0175f78e75d8a8ab2f63a5a7f7b96 server_uid enNnnQxEDTHTmtOjZVL8QXFFEN0= as process 278645
|
2025-04-16 16:02:00 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
|
2025-04-16 16:02:00 0 [Note] InnoDB: Number of pools: 1
|
2025-04-16 16:02:00 0 [Note] InnoDB: Using AVX512 instructions
|
2025-04-16 16:02:00 0 [Note] InnoDB: Using Linux native AIO
|
I think that a reasonable approach would be to include both libaio and liburing dependencies when they are available, and choose between the two at runtime.