Pekka Enberg
ed9f3e6d1e
Single-threaded architecture
...
Use Rc instead of Arc and replace the concurrent LRU with
single-threaded SIEVE.
Fixes #23
Fixes #29
2024-03-03 12:44:45 +02:00
Pekka Enberg
8c2926e4d1
core/linux: Make io_uring larger
2024-01-24 17:25:33 +02:00
Pekka Enberg
d2a925698d
core/linux: Don't block in run_once()
2024-01-24 17:25:19 +02:00
Pekka Enberg
0b9b6cfd29
Asynchronous I/O
2024-01-24 08:14:53 +02:00
Pekka Enberg
2bb56ade4b
Tracing improvements
2024-01-14 15:47:54 +02:00
Pekka Enberg
44dcd48071
Fix WebAssembly build
2024-01-14 15:29:27 +02:00
Pekka Enberg
08b40f2af7
core/linux: Move I/O completion to io_uring
...
Move the Completion::complete() call to the io_uring machinery. We still
essentially do synchronous I/O because of the call to submit_and_wait()
in pread(), but let's take one step at a time...
2024-01-13 09:11:35 +02:00
Pekka Enberg
5ea214083a
core: Switch to using Arc<Completion>
...
We need to be able to leak a reference for io_uring so switch to
Arc<Completion> in the code.
2024-01-13 09:03:21 +02:00
Pekka Enberg
509b322f8a
Fix build on Linux
2023-11-11 09:21:13 +02:00
Pekka Enberg
2267ee121b
Introduce Completion type
2023-11-09 21:11:48 +02:00
Pekka Enberg
de6f327a4a
Move raw buffer to I/O module
2023-09-30 14:19:55 +03:00
Pekka Enberg
1e1e096a48
Refactor I/O and storage layers
2023-09-16 09:34:17 +03:00
Pekka Enberg
b49c242266
Rename PageSource to File
2023-09-10 22:01:45 +03:00
Pekka Enberg
fe41f46bc0
I/O trait
2023-09-10 21:57:36 +03:00
Pekka Enberg
58eab38066
I/O layer cleanups
2023-09-10 21:02:23 +03:00