Vitaliy Filippov
f86bed106c
Implement buffered disk_mock_t mode, extract ringloop_mock.cpp
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
92a0942cd6
Add mocks for blockstore integration tests: timerfd, ring_loop_mock_t and disk_mock_t
2025-11-23 19:08:23 +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
2ebe3a468c
Mark all symbols hidden by default, export only required ones
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
80c4e8c20f
Add missing wakeup in ringloop->set_immediate to prevent slowdowns in code using set_immediate
2025-05-03 14:40:48 +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