Enable an io-uring build
There exists a bug where calls that we previously thought were
non-blocking, actually do block when used with hwmon or filesystem fds.
This causes high latencies on the dbus interfaces when lots of sensors
are used in a single daemon, as is the case in PSUSensor.
This patchset moves the PSUSensor code over to using io-uring, through
boost asio, using the random_access_file class. This helps with
performance in a number of ways, the largest of which being that sensor
reads are no longer blocking.
Tested:
Booted the sensor system on Tyan S7106; dbus-monitor shows sensors
scanning normally.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I654eafcfab5a24b65b89c204ab43d81c7ae064cf
diff --git a/subprojects/boost.wrap b/subprojects/boost.wrap
new file mode 100644
index 0000000..008548f
--- /dev/null
+++ b/subprojects/boost.wrap
@@ -0,0 +1,4 @@
+[wrap-file]
+source_url = https://downloads.yoctoproject.org/mirror/sources/boost_1_79_0.tar.bz2
+source_hash = 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
+source_filename = 1_79_0.tar.bz2
diff --git a/subprojects/liburing.wrap b/subprojects/liburing.wrap
new file mode 100644
index 0000000..d9225d5
--- /dev/null
+++ b/subprojects/liburing.wrap
@@ -0,0 +1,13 @@
+[wrap-file]
+directory = liburing-liburing-2.2
+source_url = https://github.com/axboe/liburing/archive/refs/tags/liburing-2.2.tar.gz
+source_filename = liburing-2.2.tar.gz
+source_hash = e092624af6aa244ade2d52181cc07751ac5caba2f3d63e9240790db9ed130bbc
+patch_filename = liburing_2.2-1_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/liburing_2.2-1/get_patch
+patch_hash = 43fed02db27c38647500e859e3a42bf91585e7fbea37999bf50337cc46c7de26
+wrapdb_version = 2.2-1
+
+[provide]
+uring = uring
+