Spdk/scripts/rpc
Or Gerlitz 6629202cbd nvmf/tcp: Use the success optimization by default
By now (5.1 is released), the Linux kernel initiator supports the
success optimization and further, the version that doesn't support
it (5.0) was EOL-ed. As such, lets open it up @ spdk by default.

Doing so provides a notable performance improvement: running perf with
iodepth of 64, randread, two threads and block size of 512 bytes for 60s
("-q 64 -w randread -o 512 -c 0x5000 -t 60") over the VMA socket acceleration
library and null backing store, we got 730K IOPS with the success
optimization vs 550K without it.

IOPS           MiB/s    Average       min      max
549274.10     268.20     232.99      93.23 3256354.96
728117.57     355.53     175.76      85.93   14632.16

To allow for interop with older kernel initiators, we added
a config knob under which the success optimization can be
enabled or disabled.

Change-Id: Ia4c79f607f82c3563523ae3e07a67eac95b56dbb
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457644
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-26 06:24:03 +00:00
..
__init__.py rpc: rename RPC get_rpc_methods to rpc_get_methods 2019-05-27 12:52:53 +00:00
app.py scripts: fix executable attribute for includes 2018-09-18 16:34:45 +00:00
bdev.py bdev/compress: always use QAT if available 2019-06-21 07:53:39 +00:00
client.py rpc.py: add --dry-run option to print the json request and exit 2019-06-19 03:50:30 +00:00
helpers.py rpc.py: add framework for detecting deprecated aliases 2019-05-09 04:37:08 +00:00
ioat.py copy/ioat: Add scan_ioat_copy_engine RPC 2018-06-14 03:54:42 +00:00
iscsi.py iscsi: Deprecate MinConnectionsPerCore 2019-05-06 17:10:48 +00:00
log.py log: use new framework for marking deprecated RPCs 2019-05-09 04:37:08 +00:00
lvol.py lvol: add option to change clear method for lvol store creation 2019-02-28 20:50:27 +00:00
nbd.py nbd: optional nbd_device in start_nbd_disk 2019-04-04 08:35:50 +00:00
net.py scripts: fix executable attribute for includes 2018-09-18 16:34:45 +00:00
notify.py rpc/notifications: add notification support to RPC client and SPDK host. 2019-04-09 23:01:52 +00:00
nvme.py scripts/rpc.py: add method "get_nvme_controllers" 2018-10-25 17:26:25 +00:00
nvmf.py nvmf/tcp: Use the success optimization by default 2019-06-26 06:24:03 +00:00
pmem.py scripts: fix executable attribute for includes 2018-09-18 16:34:45 +00:00
subsystem.py scripts: fix executable attribute for includes 2018-09-18 16:34:45 +00:00
trace.py lib/trace: add 3 RPC method for tpoint_group_mask 2018-12-14 21:29:12 +00:00
vhost.py bdev/virtio: Remove deprecated remove_virtio_scsi_bdev rpc 2019-01-28 22:18:53 +00:00