vitastor/src
Vitaliy Filippov 660c3f7b0d Change default RDMA settings to 128x 129K buffers
129K to leave extra space for the header

The problem with 8x 1M buffers is that the following happens with,
for example, 2 OSDs and 4M T1Q1 write:
- Server posts 8 receives
- Client posts 8 sends
- WRs are processed by the RDMA stack, but the OSD doesn't have the time
  to handle them and doesn't refill buffers
- Client posts 1 more send
- RNR retransmission happens and performance drops to zero

Overall it seems that RDMA support should be reworked to use real 'RDMA'
operations i.e. operations writing into remote memory. This has an
additional advantage of avoiding a copy at the receive side of the OSD.
2021-11-21 12:05:52 +03:00
..
mock Fix minor bugs in snapshot removal, check it in tests 2021-09-25 19:30:29 +03:00
CMakeLists.txt Rewrite simple-offsets.js in C/C++ 2021-11-19 02:39:56 +03:00
allocator.cpp Add "external" bitmap support to osd_rmw 2021-04-10 17:44:12 +03:00
allocator.h Add "external" bitmap support to osd_rmw 2021-04-10 17:44:12 +03:00
base64.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
base64.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
blockstore.cpp Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
blockstore.h Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
blockstore_flush.cpp Make diagnostics slightly better 2021-07-18 01:24:38 +03:00
blockstore_flush.h Print journal flusher diagnostics on slow ops 2021-07-17 16:13:41 +03:00
blockstore_impl.cpp Print journal flusher diagnostics on slow ops 2021-07-17 16:13:41 +03:00
blockstore_impl.h Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
blockstore_init.cpp Add metadata superblock and check it on start 2021-04-10 22:26:17 +03:00
blockstore_init.h Add metadata superblock and check it on start 2021-04-10 22:26:17 +03:00
blockstore_journal.cpp Print journal flusher diagnostics on slow ops 2021-07-17 16:13:41 +03:00
blockstore_journal.h Print journal flusher diagnostics on slow ops 2021-07-17 16:13:41 +03:00
blockstore_open.cpp Add metadata superblock and check it on start 2021-04-10 22:26:17 +03:00
blockstore_read.cpp Add simplified interface to read blockstore bitmaps synchronously 2021-04-10 17:44:12 +03:00
blockstore_rollback.cpp Use clean_entry_bitmap_size instead of entry_attr_size back because of changed bitmap handling 2021-04-10 17:44:12 +03:00
blockstore_stable.cpp Do not increment inode statistics if the object already exists 2021-04-10 17:44:12 +03:00
blockstore_sync.cpp Fix a possible crash during SYNC when journal fsyncs are enabled 2021-04-15 02:01:50 +03:00
blockstore_write.cpp fix BLOCKSTORE_DEBUG, error: ‘dirty_it’ was not declared in this scope 2021-07-18 00:46:05 +08:00
cli.cpp Rewrite simple-offsets.js in C/C++ 2021-11-19 02:39:56 +03:00
cli.h Rewrite simple-offsets.js in C/C++ 2021-11-19 02:39:56 +03:00
cli_alloc_osd.cpp Fix vitastor-cli alloc-osd, use vitastor-cli in make-osd.sh 2021-11-21 00:01:03 +03:00
cli_create.cpp Fix empty size syntax, use C version of simple-offsets in tests 2021-11-20 23:51:26 +03:00
cli_flatten.cpp Rename commands and add CLI help 2021-09-26 13:14:36 +03:00
cli_ls.cpp Oops. Fix vitastor-cli ls 2021-11-16 12:39:41 +03:00
cli_merge.cpp Ignore "readonly" flag when merging snapshots 2021-09-26 11:32:42 +03:00
cli_modify.cpp Rename the new "set" command to "modify" 2021-11-13 22:39:17 +03:00
cli_rm.cpp Implement CLI set (resize, change readonly status) command 2021-11-13 22:39:17 +03:00
cli_simple_offsets.cpp Rewrite simple-offsets.js in C/C++ 2021-11-19 02:39:56 +03:00
cli_snap_rm.cpp Rewrite simple-offsets.js in C/C++ 2021-11-19 02:39:56 +03:00
cluster_client.cpp Ignore "readonly" flag when merging snapshots 2021-09-26 11:32:42 +03:00
cluster_client.h Ignore "readonly" flag when merging snapshots 2021-09-26 11:32:42 +03:00
cluster_client_list.cpp Implement layer merge 2021-07-31 00:23:30 +03:00
crc32c.c Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
crc32c.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
dump_journal.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
epoll_manager.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
epoll_manager.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
etcd_state_client.cpp Begin to implement CLI: implement listing, add help, add create stub 2021-11-06 14:32:19 +03:00
etcd_state_client.h Begin to implement CLI: implement listing, add help, add create stub 2021-11-06 14:32:19 +03:00
fio_cluster.cpp Add CAS version parameter to the C wrapper 2021-06-19 01:00:52 +03:00
fio_engine.cpp Implement journaled write throttling for the SSD+HDD case 2021-04-10 17:44:12 +03:00
fio_headers.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
fio_sec_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
http_client.cpp Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2021-03-16 12:48:26 +03:00
http_client.h Allow to specify etcd URLs for OSDs with http://, do not die with a strange error if -etcd option is missing for fio 2021-03-16 12:48:26 +03:00
malloc_or_die.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
messenger.cpp Change default RDMA settings to 128x 129K buffers 2021-11-21 12:05:52 +03:00
messenger.h Change default RDMA settings to 128x 129K buffers 2021-11-21 12:05:52 +03:00
msgr_op.cpp Extract some definitions to msgr_op.{cpp,h} 2021-04-03 14:36:04 +03:00
msgr_op.h Log to stderr instead of stdout in client 2021-05-15 19:22:24 +03:00
msgr_rdma.cpp Remove naggy RDMA messages when log level is zero 2021-11-06 14:36:23 +03:00
msgr_rdma.h Remove naggy RDMA messages when log level is zero 2021-11-06 14:36:23 +03:00
msgr_receive.cpp Log to stderr instead of stdout in client 2021-05-15 19:22:24 +03:00
msgr_send.cpp Log to stderr instead of stdout in client 2021-05-15 19:22:24 +03:00
msgr_stop.cpp Fix minor bugs in snapshot removal, check it in tests 2021-09-25 19:30:29 +03:00
nbd_proxy.cpp Fix vitastor-nbd list, add ls alias 2021-11-13 22:39:17 +03:00
object_id.h Actual snapshot support (untested) 2021-04-10 17:44:12 +03:00
osd.cpp Use 5s etcd_report_interval by default 2021-11-09 01:27:12 +03:00
osd.h Use 5s etcd_report_interval by default 2021-11-09 01:27:12 +03:00
osd_cluster.cpp Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
osd_flush.cpp Rename osd_t::c_cli to msgr 2021-04-17 16:32:09 +03:00
osd_id.h Implement "inverse merge" optimisation 2021-09-26 12:59:04 +03:00
osd_main.cpp Use json11 instead of blockstore_config_t 2021-04-30 00:52:46 +03:00
osd_ops.cpp Add "read bitmaps" operation to secondary OSD protocol 2021-04-10 17:44:12 +03:00
osd_ops.h Implement CAS writes 2021-06-15 00:12:35 +03:00
osd_peering.cpp Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
osd_peering_pg.cpp Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
osd_peering_pg.h Delete objects only after a SYNC during rebalance in the non-immediate_commit mode 2021-03-16 12:48:26 +03:00
osd_peering_pg_test.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
osd_primary.cpp Return real version on CAS failure 2021-08-01 20:05:19 +03:00
osd_primary.h Implement chained (optimized) read in the primary OSD code 2021-04-10 17:44:12 +03:00
osd_primary_chain.cpp Implement CAS writes 2021-06-15 00:12:35 +03:00
osd_primary_subops.cpp Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
osd_primary_sync.cpp Rename osd_t::c_cli to msgr 2021-04-17 16:32:09 +03:00
osd_primary_write.cpp Autosync based on number of unstable ops to prevent journal stalls 2021-10-30 14:26:48 +03:00
osd_rmw.cpp Implement chained (optimized) read in the primary OSD code 2021-04-10 17:44:12 +03:00
osd_rmw.h Allocate bitmaps along with stripes to avoid memory fragmentation 2021-04-10 17:44:12 +03:00
osd_rmw_test.cpp Allocate bitmaps along with stripes to avoid memory fragmentation 2021-04-10 17:44:12 +03:00
osd_secondary.cpp Negotiate max_msg instead of max_sge, make buffer settings more conservative :-) 2021-04-29 11:10:35 +03:00
osd_test.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
pg_states.cpp Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
pg_states.h Report pg/history from OSD on every degraded activation 2021-11-13 22:39:17 +03:00
qemu_driver.c Fix qemu_driver to build with QEMU 2.x (previously it was only correct for QEMU 2.0) 2021-11-08 23:07:31 +03:00
ringloop.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
ringloop.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
rw_blocking.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
rw_blocking.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_bench.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
stub_uring_osd.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_allocator.cpp Skip double allocs when reading journal 2021-04-03 00:53:28 +03:00
test_blockstore.cpp Implement journaled write throttling for the SSD+HDD case 2021-04-10 17:44:12 +03:00
test_cas.cpp Add a test for CAS write operation 2021-06-15 00:12:35 +03:00
test_cluster_client.cpp Watch inode metadata revisions 2021-04-10 17:44:12 +03:00
test_pattern.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
test_shit.cpp Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00
timerfd_manager.cpp Add microsecond accuracy to set_timer 2021-04-10 17:44:12 +03:00
timerfd_manager.h Add microsecond accuracy to set_timer 2021-04-10 17:44:12 +03:00
vitastor.pc.in Generate pkg-config file 2021-11-15 00:49:21 +03:00
vitastor_c.cpp Remove "bool" from the C header 2021-10-18 01:49:07 +03:00
vitastor_c.h Remove "bool" from the C header 2021-10-18 01:49:07 +03:00
xor.h Move C/C++ sources to src subdirectory 2021-02-25 23:59:03 +03:00