Commit Graph
11 Commits
Author SHA1 Message Date
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