Commit Graph

21 Commits

Author SHA1 Message Date
Ishan Jain
c171b63ec2 use O_DIRECT for file read operations 2024-07-09 11:41:20 +05:30
Kunal Singh
00c26286ce fix: lint warnings 2024-07-08 22:43:11 +05:30
Piotr Jastrzebski
1004215853 Remove submit from LinuxIO write
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com>
2024-07-07 09:24:44 +02:00
Rutvik Patel
fd9af2739e wait for the read completion
The submit_and_wait command waits for `n` completion events.
We were providing an incorrect argument, which caused the issue.
2024-07-06 13:48:58 +05:30
Pekka Enberg
2684341bac Initial pass on deterministic simulator
The simulator does not do much, but does discover failures on Linux with
io_uring, though, so it's a start.
2024-06-27 18:32:04 +03:00
Pere Diaz Bou
377073e158 core: I/O write path 2024-06-19 21:26:40 +03:00
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