Spdk/lib/nvme
Evgeniy Kochetov 731dca3d77 nvme/rdma: Add work requests batching to NVMe RDMA initiator
RDMA work requests generated between two calls to NVMe RDMA QP
processing function are chained into a list and then posted together
to a queue in next call to processing function.

Batching improves performance in scenarios with deep queues and heavy
load on CPU. But it may cause latency increase on smaller
loads. Batching is configurable with RPC methods and configuration file.

Signed-off-by: Evgeniy Kochetov <evgeniik@mellanox.com>
Signed-off-by: Sasha Kotchubievsky <sashakot@mellanox.com>
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I600bce78427eb7e8ed819bbbe523ad318e2da32b
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462585
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-12-23 08:41:48 +00:00
..
Makefile lib/nvme: add NVMe character device 2019-10-24 23:43:59 +00:00
nvme_ctrlr_cmd.c nvme: replace cdw11 with specific union strucutre 2019-12-06 14:43:41 +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: prevent creating existing cuse device 2019-12-09 17:40:35 +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 nvme: don't enable adminq until we know discovery_ctrlr exists 2019-11-06 14:47:05 +00:00
nvme_internal.h nvme: call the callback for the queued requests when there is submission failure 2019-12-20 10:04:57 +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 lib/nvme: fix return -EINVAL for invalid io_flags 2019-12-12 15:30:22 +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 support for write uncorrectable command 2019-09-26 18:42:57 +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: Fix get locking range info memory leak 2019-10-24 17:09:57 +00:00
nvme_pcie.c nvme/pcie: Refactor nvme_pcie_qpair_submit_request 2019-12-20 08:56:23 +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: Add work requests batching to NVMe RDMA initiator 2019-12-23 08:41:48 +00:00
nvme_tcp.c nvme/tcp: Add a timeout for construct connection. 2019-12-19 11:06:23 +00:00
nvme_transport.c nvme: combine qpair->is_connecting and is_enabled 2019-10-22 21:14:22 +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 nvme: add quirk for a minimum io queue size 2019-12-13 11:02:04 +00:00