Spdk/test/unit/lib/nvme
Tomasz Zawadzki 6301f8915d lib/sock: provide a hint to picking optimal poll group
The process of matching qpair to poll group is split into
two distinct parts that occur on different threads.
See spdk_nvmf_tgt_new_qpair().

This results in a race condition for TCP between spdk_sock_map_lookup()
and spdk_sock_map_insert(), which are called in spdk_nvmf_get_optimal_poll_group()
and spdk_nvmf_poll_group_add() respectively.

Fixes #2113

This patch picks a hint from nvmf_tcp for next poll group,
which is then passed down to spdk_sock_map_lookup().

When matching placement_id exists, but does not have
a poll group assigned - the hint will be used.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I4abde2bc9c39225c9f5dd7c3654fa2639bb0a27f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10271
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2022-04-01 12:41:26 +00:00
..
nvme_ctrlr_cmd.c nvme: Do not track a separate active namespace list 2022-01-14 08:35:10 +00:00
nvme_ctrlr_ocssd_cmd.c nvme: Do not track a separate active namespace list 2022-01-14 08:35:10 +00:00
nvme_ctrlr.c nvme: Call ctrlr_disconnect_done() after qpair_process_comletions() returns -ENXIO 2022-03-21 10:49:11 +00:00
nvme_cuse.c nvme: Add metadata support to io commands 2022-01-14 11:10:13 +00:00
nvme_fabric.c nvme: allocate extra request for fabrics connect 2022-02-14 15:29:39 +00:00
nvme_io_msg.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ns_cmd.c UT/NVMe: Fix compilation warnings 2022-01-19 09:04:27 +00:00
nvme_ns_ocssd_cmd.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ns.c spelling: test 2021-12-03 08:13:22 +00:00
nvme_opal.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_pcie_common.c nvme: Factor out operations done after disconnect qpair completes 2022-03-21 10:49:11 +00:00
nvme_pcie.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_poll_group.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_qpair.c nvme: guard admin qpair error injection queue 2022-01-19 09:05:36 +00:00
nvme_quirks.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_rdma.c nvme_rdma: Start qpair after resolving address and route when poll group is used 2022-04-01 08:28:45 +00:00
nvme_tcp.c lib/sock: provide a hint to picking optimal poll group 2022-04-01 12:41:26 +00:00
nvme_transport.c nvme: Limit spdk_nvme_poll_group_remove() to use only for disconnected qpairs 2022-01-19 08:44:09 +00:00
nvme.c test/nvme: Fix unittest_nvme failure 2022-03-23 09:02:21 +00:00
Makefile test/nvme_opal: build nvme_opal unittest file 2021-06-07 07:24:47 +00:00