8e8a5f7c28
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> |
||
---|---|---|
.. | ||
Makefile | ||
nvme_ctrlr_cmd.c | ||
nvme_ctrlr_ocssd_cmd.c | ||
nvme_ctrlr.c | ||
nvme_cuse.c | ||
nvme_cuse.h | ||
nvme_fabric.c | ||
nvme_internal.h | ||
nvme_io_msg.c | ||
nvme_io_msg.h | ||
nvme_ns_cmd.c | ||
nvme_ns_ocssd_cmd.c | ||
nvme_ns.c | ||
nvme_opal_internal.h | ||
nvme_opal.c | ||
nvme_pcie.c | ||
nvme_qpair.c | ||
nvme_quirks.c | ||
nvme_rdma.c | ||
nvme_tcp.c | ||
nvme_transport.c | ||
nvme_uevent.c | ||
nvme_uevent.h | ||
nvme.c |