Bug 2382734

Summary: RFE: Explore building MariaDB with 'liburing'
Product: [Fedora] Fedora Reporter: Michal Schorm <mschorm>
Component: mariadb10.11Assignee: Michal Schorm <mschorm>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: fjanus, gary.buhrmaster, ljavorsk, mschorm
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-07-31 04:21:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Schorm 2025-07-22 22:08:22 UTC
(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.

Comment 1 Gary Buhrmaster 2025-07-22 23:39:53 UTC
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).

Comment 2 Michal Schorm 2025-07-29 09:26:09 UTC
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?

Comment 3 Gary Buhrmaster 2025-07-31 04:21:03 UTC
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.