Vitaliy Filippov
7f4c541a6f
Implement buffered disk_mock_t mode, extract ringloop_mock.cpp
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b599334c4a
Add mocks for blockstore integration tests: timerfd, ring_loop_mock_t and disk_mock_t
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3ad83e8d13
Use only space_left, not sqes_left
2025-11-23 15:17:57 +03:00
Vitaliy Filippov
31b7021330
Implement Vitastor ublk server
2025-08-24 16:55:58 +03:00
Vitaliy Filippov
9892fccfb0
Disable io_uring waits being reported as iowait
2025-08-24 16:55:58 +03:00
Vitaliy Filippov
0be86a306d
Remove old liburing version support as it's now included
2025-08-24 16:55:58 +03:00
Vitaliy Filippov
f201ecdd51
Fix missing mutex unlock with zero-copy and iothreads O_o
2025-05-24 00:56:31 +03:00
Vitaliy Filippov
9556eeae45
Implement io_uring zero-copy send support
2025-05-01 18:47:10 +03:00
Vitaliy Filippov
8129a0b4e3
Loop once after registering eventfd to prevent skipping previous events
2025-03-03 00:57:00 +03:00
Vitaliy Filippov
abbba6ade4
Support handling TCP I/O in simple separate io_uring-based I/O threads
...
Required mainly for clients, allows to scale parallel client I/O with TCP
from 100-150k iops to ~400k iops and from 2-3 GB/s to at least 7-8 GB/s
with 4 I/O threads, at the same time increasing Q=1 latency by 2x thread
switching delay, which is ~10 us when CPU powersaving is disabled and may
be as high as 200 us when it's enabled.
2024-07-04 13:29:20 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00