Spdk/lib/event
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
..
rpc lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
subsystems nvmf/tcp: Use the success optimization by default 2019-06-26 06:24:03 +00:00
app.c event/app: don't call start_fn twice when json config is used 2019-06-24 15:54:49 +00:00
json_config.c event: fix segv on json config read failure 2019-06-24 15:54:49 +00:00
json_config.h event: spdk_app_json_config_load no longer requires an event 2019-03-06 08:26:04 +00:00
Makefile app: add option to read json configuration files during startup 2019-01-14 04:48:18 +00:00
reactor.c env: Add free_space parameter to spdk_ring_enqueue 2019-06-05 05:23:58 +00:00
rpc.c thread: Replace #include of io_channel.h with thread.h 2018-06-12 15:24:07 +00:00
subsystem.c event: spdk_subsystem_config_json is no longer asynchronous 2019-03-19 15:54:34 +00:00