Vitaliy Filippov
f5e5686540
Experimental: Support RDMA devices without ODP by stupidly calling ibv_reg_mr on every output buffer :)
Test / test_rm (push) Successful in 18s
Details
Test / test_snapshot_ec (push) Successful in 35s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m53s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_move_reappear (push) Failing after 49s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 22s
Details
Test / test_snapshot_chain (push) Successful in 2m16s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m2s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m22s
Details
Test / test_write (push) Successful in 34s
Details
Test / test_rebalance_verify (push) Successful in 4m0s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m47s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m56s
Details
Test / test_write_xor (push) Failing after 3m9s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m20s
Details
Test / test_heal_ec (push) Successful in 5m43s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m6s
Details
Test / test_heal_csum_32k (push) Successful in 6m23s
Details
Test / test_scrub (push) Successful in 1m24s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m6s
Details
Test / test_scrub_xor (push) Successful in 1m9s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m17s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m19s
Details
Test / test_scrub_ec (push) Successful in 49s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 52s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m9s
Details
Test / test_heal_csum_4k (push) Successful in 5m57s
Details
2023-11-11 11:47:07 +03:00
Vitaliy Filippov
c3e80abad7
Allow to send more than 1 operation at a time
2023-02-26 02:01:04 +03:00
Vitaliy Filippov
138ffe4032
Reuse incoming RDMA buffers
2023-02-26 00:55:01 +03:00
Vitaliy Filippov
609bd4eb59
Remove naggy RDMA messages when log level is zero
2021-11-06 14:36:23 +03:00
Vitaliy Filippov
483c5ab380
Negotiate max_msg instead of max_sge, make buffer settings more conservative :-)
2021-04-29 11:10:35 +03:00
Vitaliy Filippov
971aa4ae4f
Implement RDMA receive with memory copying (send remains zero-copy)
...
This is the simplest and, as usual, the best implementation :)
100% zero-copy implementation is also possible (see rdma-zerocopy branch),
but it requires to create A LOT of queues (~128 per client) to use QPN as a 'tag'
because of the lack of receive tags and the server may simply run out of queues.
Hardware limit is 262144 on Mellanox ConnectX-4 which amounts to only 2048
'connections' per host. And even with that amount of queues it's still less optimal
than the non-zerocopy one.
In fact, newest hardware like Mellanox ConnectX-5 does have Tag Matching
support, but it's still unsuitable for us because it doesn't support scatter/gather
(tm_caps.max_sge=1).
2021-04-29 02:34:45 +03:00
Vitaliy Filippov
ce777319c3
WIP RDMA support
...
Basic naive implementation works, but it's highly non-optimal as
RNR retransmissions occur all the time. RDMA expects the receiver
to always have place for incoming WRs...
2021-04-29 02:03:54 +03:00