]> git.sesse.net Git - plocate/commit
Replace mmap with io_uring.
authorSteinar H. Gunderson <steinar+git@gunderson.no>
Wed, 30 Sep 2020 08:20:10 +0000 (10:20 +0200)
committerSteinar H. Gunderson <steinar+git@gunderson.no>
Wed, 30 Sep 2020 08:28:27 +0000 (10:28 +0200)
commit009ba1838c9185844acd34458ef863828b8ab143
treeb0f193d7dc7bdeb56d5d0faa7aca0175de749b34
parent0638889bd9f0219c5d5022885fb575ed1c479c43
Replace mmap with io_uring.

This moves to explicit, asynchronous I/O through io_uring (Linux 5.1+),
which speeds up cold-cache behavior on rotating media by 3x or so.
It also removes any issues we might have with not fitting into 32-bit
address spaces.

If io_uring is not available, regular synchronous I/O will be used instead.
For now, there's a dependency on liburing, but it will be optional soon
for older systems.
Makefile
io_uring_engine.cpp [new file with mode: 0644]
io_uring_engine.h [new file with mode: 0644]
plocate.cpp