numam-spdk/lib/nvme
Or Gerlitz 8e8a5f7c28 nvme/tcp: Use writev_async for sending data on sockets
Amortize the writev syscall cost by using the writev_async socket API.

This allows the socket layer to batch writes into one system call
and also apply further optimizations such as posix's MSG_ZEROCOPY
when they are available. As part of doing so we remove the error
return in the socket layer writev_async implementation for sockets
that don't have a poll group.

Doing so eliminates the send queue processing.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Change-Id: I5432ae322afaff7b96c22269fc06b75f9ae60b81
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475420
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-01-22 13:53:09 +00:00
..
Makefile lib/nvme: add NVMe character device 2019-10-24 23:43:59 +00:00
nvme_ctrlr_cmd.c nvme: add spdk_nvme_ctrlr_cmd_get_log_page_ext() 2020-01-10 08:46:33 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme: use macro defintion instead of magic number for queue priority setting 2019-12-20 10:06:22 +00:00
nvme_cuse.c lib/nvme: fix cuse return status code 2020-01-16 09:20:20 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c lib/nvme: make transport.c use fn tables. 2020-01-16 09:10:38 +00:00
nvme_internal.h lib/nvme: split out function to get ops. 2020-01-16 09:10:38 +00:00
nvme_io_msg.c lib/nvme: stop all NVMe io producers on detach 2019-11-28 12:36:58 +00:00
nvme_io_msg.h lib/nvme: stop all NVMe io producers on detach 2019-11-28 12:36:58 +00:00
nvme_ns_cmd.c nvme: Add spdk_nvme_ns_cmd_comparev_with_md function 2020-01-07 12:31:32 +00:00
nvme_ns_ocssd_cmd.c vtophys: add length parameter to the vtophys function 2019-01-09 08:24:59 +00:00
nvme_ns.c nvme: Add spdk_nvme_ns_supports_compare function 2020-01-07 12:31:32 +00:00
nvme_opal_internal.h Opal: Add async function for revert TPer 2019-10-24 17:09:57 +00:00
nvme_opal.c Opal: Add clean response buffer process 2019-12-24 08:13:57 +00:00
nvme_pcie.c lib/nvme: add function tables for all transports. 2020-01-16 09:10:38 +00:00
nvme_qpair.c nvme: call the callback for the queued requests when there is submission failure 2019-12-20 10:04:57 +00:00
nvme_quirks.c nvme: add quirk for a minimum io queue size 2019-12-13 11:02:04 +00:00
nvme_rdma.c nvme/rdma: inline buffers for all host to ctrlr ops 2020-01-22 13:41:47 +00:00
nvme_tcp.c nvme/tcp: Use writev_async for sending data on sockets 2020-01-22 13:53:09 +00:00
nvme_transport.c lib/nvme: make transport.c use fn tables. 2020-01-16 09:10:38 +00:00
nvme_uevent.c nvme: add vfio driver parse event 2019-05-29 02:36:41 +00:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c lib/nvme: extend trtype to str with CUSTOM 2020-01-21 23:16:57 +00:00