On Tue, Mar 18, 2025 at 9:12 PM Andres Freund <and...@anarazel.de> wrote: > > Hi, > > Attached is v2.10, with the following changes: > > - committed core AIO infrastructure patch
Hi, yay, It's happening.jpg ;) Some thoughts about 2.10-0004: What do you think about putting there into (io_uring patch) info about the need to ensure that kernel.io_uring_disabled sysctl is on ? (some distros might shut it down) E.g. in doc/src/sgml/config.sgml after io_method = <listitems>... there could be --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml <literal>io_uring</literal> (execute asynchronous I/O using io_uring, if available) [..] and then add something like: + "At present io_method=io_uring is supported only on Linux and requires Linux's sysctl kernel.io_uring_disabled (if present) to be at value 0 (enabled) or 1 (with kernel.io_uring_group set to PostgreSQL's GID)." Rationale: it seems that at least RHEL 9.x will have this knob present (but e.g. RHEL 8.10 even kernel-ml 6.4.2 doesn't, as this seems to come with 6.6+ but saw somewhere that somebody had issues with this on probably backported kernel in Rocky 9.x ). Also further googling for I have found also that mysql can throw - when executed from podmap/docker: "mysqld: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)" and this leaves this with two probable follow-up questions when adjusting this sentence: a. shouldn't we add some sentence about containers/namespaces/seccomp allowing this ? b. and/or shouldn't we reference in docs a minimum kernel version (this is somewhat wild, liburing could be installed and compiled against, but runtime kernel would be < 5.1 ?) -J.