Spdk/lib/nvme
Alex Michon 5dedf4987e nvme/pcie: Fix doorbell delay with fuse operations
When sending the first part of a fuse command, we set the
first_fused_submitted flag so that we don't ring the doorbell
immediately. When the second part is sent, we ring the doorbell for
both commands.
However, this doesn't work well when we use the option to delay ringing
the doorbell. We send both parts, then later when we try to ring the
doorbell, we don't because of the first_fused_submitted flag from the
first command.
Replace this mechanism by keeping track of the last submitted fuse.

Signed-off-by: Alex Michon <amichon@kalrayinc.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12182 (master)

(cherry picked from commit f89cf818c0)
Change-Id: Ia4ac9b3ce9c319ee4c7e42f86eadda93dac85fca
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12490
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-06-30 13:32:32 -04:00
..
Makefile nvme: add spdk_nvme_ctrlr_get_discovery_log_page API 2022-06-30 13:32:29 -04:00
nvme_ctrlr_cmd.c spelling: lib 2022-06-30 13:32:28 -04:00
nvme_ctrlr_ocssd_cmd.c nvme: Do not track a separate active namespace list 2022-06-30 13:32:30 -04:00
nvme_ctrlr.c nvme: disconnect ADMIN queue pair when destruct controller 2022-06-30 13:32:31 -04:00
nvme_cuse.c nvme: Add Check for fuse request size 2022-06-30 13:32:30 -04:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_discovery.c nvme: restart discovery log when genctr changes 2022-06-30 13:32:30 -04:00
nvme_fabric.c nvme: allocate extra request for fabrics connect 2022-06-30 13:32:31 -04:00
nvme_internal.h nvme/pcie: Fix doorbell delay with fuse operations 2022-06-30 13:32:32 -04:00
nvme_io_msg.c nvme: only process io_msg in primary process 2021-04-22 01:06:02 +00:00
nvme_io_msg.h spelling: lib 2022-06-30 13:32:28 -04:00
nvme_ns_cmd.c nvme: Add functions spdk_nvme_ns_cmd_readv/writev_ext 2021-08-20 07:26:10 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c nvme: Remove nvme_ns_update 2022-06-30 13:32:29 -04:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c spelling: lib 2022-06-30 13:32:28 -04:00
nvme_pcie_common.c nvme/pcie: Fix doorbell delay with fuse operations 2022-06-30 13:32:32 -04:00
nvme_pcie_internal.h nvme/pcie: Fix doorbell delay with fuse operations 2022-06-30 13:32:32 -04:00
nvme_pcie.c nvme/pcie: increase min admin queue size to 256 2022-06-30 13:32:31 -04:00
nvme_poll_group.c nvme: Add functions to get/free poll group statistics 2021-04-13 21:30:52 +00:00
nvme_qpair.c nvme: Change nvme_qpair_abort_queued_reqs() to set SC_ABORTED_SQ_DELETION 2022-06-30 13:32:31 -04:00
nvme_quirks.c nvme: add DELAY_BEFORE_INIT quirk to Intel 0x0A54 SSD 2022-06-30 13:32:27 -04:00
nvme_rdma.c nvme: Set dnr to zero for abort_reqs() including a fix of degradation 2022-06-30 13:32:31 -04:00
nvme_tcp.c nvme: Remove poll_group_disconnect_qpair() call from poll_group_remove() 2022-06-30 13:32:30 -04:00
nvme_transport.c nvme: Assume poll_group_disconnect_qpair() succeeds if qpair is in connected_qpairs 2022-06-30 13:32:30 -04:00
nvme_vfio_user.c nvme/pcie: increase min admin queue size to 256 2022-06-30 13:32:31 -04:00
nvme_zns.c lib/nvme: NVMe ZNS - Zone Descriptor Extension support 2022-06-30 13:32:24 -04:00
nvme.c spelling: lib 2022-06-30 13:32:28 -04:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_get_discovery_log_page API 2022-06-30 13:32:29 -04:00