(Gary Buhrmaster said in Bugzilla ticket #2368742 in comment #27) > Has any consideration been made that mariadb11.8 could be built with liburing (for potentially better performance)? > Using liburing does require an update to the mysql-selinux rules to allow access. I am filing this ticket to track this request.
FWIW, I have built (and ran) MariaDB 11.4 by adding a BuildRequires: liburing-devel to the spec file, and it compiles fine and runs OK. However, there are two caveats, first in that MariaDB (if compiled with liburing available) will use it rather than libaio (and no ability to chose libaio at run time), and secondly that it requires mysql-selinux to be updated. Using audit2allow, the following was generated: --- module mariadb_local 1.0; require { type mysqld_t; type io_uring_t; class anon_inode { create map read write }; } #============= mysqld_t ============== allow mysqld_t io_uring_t:anon_inode { create map read write }; --- FWIW, I do wonder if a getattr permission may also be required, but it was not called out during my testing. I did not perform any formal performance testing (so whether the promise of better performance would be seen in the real world, I do not know).
Thanks for the additional info. We opened a discussion on the MariaDB upstream: https://mariadb.zulipchat.com/#narrow/channel/118759-general/topic/building.20MariaDB.20.20with.20liburing feel free to join in. So far there aren't any persuasive argument to switch to liburing, but that's on you - user(s) that are interested in the feature to show where it performed well. For your private use case - I see you are able to modify and rebuild the package yourself. Is there anything else we can you for you, or is the opening of the upstream discussions that you are invited into all you wanted?
I think this can be closed if you are engaging with upstream (I will do so). MariaDB itself suggested that io_uring can improve performance, and I would think fedora (and especially RHEL, which I would hope to attempt to be the most performant EL distribution available) would want to offer the best performance possible. But my use case is not running META scaled workloads, so I am happy to just do my own builds for now. Thanks for your consideration.