cec5ba28 | 23-Aug-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
nvme/rdma: Register UMR per IO request
If accel sequence is supported, append a copy task even if there is no accel sequence. NVME RDMA driver expects that accel framework registers UMR for the data
nvme/rdma: Register UMR per IO request
If accel sequence is supported, append a copy task even if there is no accel sequence. NVME RDMA driver expects that accel framework registers UMR for the data buffer. This UMR allows to represent fragmented payload as a virtually contig one.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I410f991959b08eab033105a7dbb4a9aaba491567 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24709 Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
92d1e663 | 05-Dec-2024 |
Alex Michon <amichon@kalrayinc.com> |
bdev/nvme: Fix depopulating a namespace twice
If we receive 2 AENs in a row, we may attempt to delete the same namespace twice, which would result in a use-after-free.
Change-Id: I4d9cb4a1ada5d6c94
bdev/nvme: Fix depopulating a namespace twice
If we receive 2 AENs in a row, we may attempt to delete the same namespace twice, which would result in a use-after-free.
Change-Id: I4d9cb4a1ada5d6c945cad10a963f218c70d5c8f8 Signed-off-by: Alex Michon <amichon@kalrayinc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25511 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
0edc184e | 23-Aug-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
accel/mlx5: Support mkey registration
Register scatter/gather mkey if accel_mlx5 driver is enabled and a copy task with RDMA memory domain as a destination is set. The UMR can be sent in NVMF capsul
accel/mlx5: Support mkey registration
Register scatter/gather mkey if accel_mlx5 driver is enabled and a copy task with RDMA memory domain as a destination is set. The UMR can be sent in NVMF capsule to represent scattered memory as virtually contiguous.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I92e8c417bbf8c4018ac77e7fc074ac7ae9a68b55 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24708 Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
06358c25 | 01-Nov-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/nvme: use poll_group's fd_group to register interrupts
This eliminates the need for nesting epoll instances in the kernel and allows us to skip one epoll_wait() call. It shows an around 5-10%
bdev/nvme: use poll_group's fd_group to register interrupts
This eliminates the need for nesting epoll instances in the kernel and allows us to skip one epoll_wait() call. It shows an around 5-10% latency improvement.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Idd6ed70d41760566b82246c8af59016fa80a0610 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25469 Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
show more ...
|
2e1d23f4 | 06-Dec-2024 |
Jim Harris <jim.harris@nvidia.com> |
fuse_dispatcher: make header internal
The fuse_dispatcher is not intended to be a public API, it's for internal use only.
Signed-off-by: Jim Harris <jim.harris@nvidia.com> Change-Id: I23e839a8f7155
fuse_dispatcher: make header internal
The fuse_dispatcher is not intended to be a public API, it's for internal use only.
Signed-off-by: Jim Harris <jim.harris@nvidia.com> Change-Id: I23e839a8f71557960fe27f83c2eb9e51c57c8ea8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25516 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
0ea9ac02 | 22-Aug-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
accel/mlx5: Create pool of UMRs
Create a pool of UMR without offloads capability/BSF per device.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Ia285c9c692f97db5e562d4e4ea1f49a0787
accel/mlx5: Create pool of UMRs
Create a pool of UMR without offloads capability/BSF per device.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Ia285c9c692f97db5e562d4e4ea1f49a07870f28c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24707 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
e2dfdf06 | 18-Jul-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
accel/mlx5: Register post_poller handler
Register the handler when handling a new request. Update doorbells in the handler
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I9e3e2e0f6
accel/mlx5: Register post_poller handler
Register the handler when handling a new request. Update doorbells in the handler
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I9e3e2e0f6f742b55203bb433c05c73c8885bec32 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24705 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
3c800111 | 18-Jul-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
accel/mlx5: More precise condition to update DB
The number of outstanding WRs isn't a precise condition to update doorbells since we may have WRs already submitted to HW but not completed and we may
accel/mlx5: More precise condition to update DB
The number of outstanding WRs isn't a precise condition to update doorbells since we may have WRs already submitted to HW but not completed and we may update do unnecessary DB update. Use a dedicated flag to check if DB update is required
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: I941a0724902751cbbebea9f2cc94e8d5247b1182 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24704 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
77ee034c | 29-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Add lock to unprotected operations around attach controller
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I8cddce04c17fe07a1e66d014c1ce747147a15a8e Reviewed-on: https
bdev/nvme: Add lock to unprotected operations around attach controller
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I8cddce04c17fe07a1e66d014c1ce747147a15a8e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25487 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
48454bb2 | 28-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Add lock to unprotected operations around detach controller
When a NVMe bdev has a multipath configuration made of two NVMe-oF controllers and the two NVMe-oF controllers are detached, th
bdev/nvme: Add lock to unprotected operations around detach controller
When a NVMe bdev has a multipath configuration made of two NVMe-oF controllers and the two NVMe-oF controllers are detached, the NVMe bdev is deleted but sometimes one of NVMe-oF controllers failed to delete.
The root cause analysis showed that the failed NVMe-oF controller was not tried to delete at all.
It is very likely that some complex race condition occurred.
Then, it was found that a few critical operations were not protected by lock.
Checking nvme_ns->bdev was protected by lock but clearing nvme_ns->bdev was not protected by the same lock.
Removing nvme_ns from bdev->nvme_ns_list was protected by lock but traversing bdev->nvme_ns_list was not protected by the lock.
Hence, add these missing locks.
The lock ordering should be nvme_bdev->mutex is first and nvme_ctrlr->mutex is second.
nvme_ctrlr_depopulate_namespaces() does not hold lock while traversing nvme_ns_tree. However, nvme_ns_tree is deleted at the final controller deletion. Hence, this will not be necessary for now
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I974adbf87ca02e1b2f167dd3eab485934ff03774 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25483 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
4b59d789 | 28-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Use nbdev always for local nvme_bdev pointer variables
Previously, for the local nvme_bdev pointer, different names, nvme_disk, bdev, and nbdev were used. No special preference but nbdev
bdev/nvme: Use nbdev always for local nvme_bdev pointer variables
Previously, for the local nvme_bdev pointer, different names, nvme_disk, bdev, and nbdev were used. No special preference but nbdev has been used widely. Let's use nbdev always for local nvme_bdev pointer variables.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I1c076b553587b576305bfbb7b25f97fabb83ce02 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25482 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
b37db069 | 03-Dec-2024 |
XuQi <1530865185@qq.com> |
replace strtok with strtok_r
The strtok function is not reentrant. To address this issue in a multithreaded environment, the strtok_r function should be used, which is the reentrant version of strto
replace strtok with strtok_r
The strtok function is not reentrant. To address this issue in a multithreaded environment, the strtok_r function should be used, which is the reentrant version of strtok.
Signed-off-by: XuQi <1530865185@qq.com> Change-Id: I35c07c7cf4e20bacb7b1e7c7adaedfcd1a81f86e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25492 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot
show more ...
|
01a2c485 | 16-Apr-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/passthru: Pass through dif_check_flags via dif_check_flags_exclude_mask
The generic bdev layer already checks if I/O has only flags supported by the underlying bdev. Hence, negate I/O's dif_che
bdev/passthru: Pass through dif_check_flags via dif_check_flags_exclude_mask
The generic bdev layer already checks if I/O has only flags supported by the underlying bdev. Hence, negate I/O's dif_check_flags here.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I02350bc1172531766225a0f30b38f5aa211cf221 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22824 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
e93f0f94 | 24-Oct-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/malloc: Support accel sequence when DIF is enabled
malloc bdev module did not support accel sequence if DIF was enabled. Remove the limitation by utilizing spdk_bdev_io_hide_metadata().
If DIF
bdev/malloc: Support accel sequence when DIF is enabled
malloc bdev module did not support accel sequence if DIF was enabled. Remove the limitation by utilizing spdk_bdev_io_hide_metadata().
If DIF insert/strip is done by accel sequence, it is not possible to verify DIF of I/O buffer. Hence, verify DIF of malloc buffer instead.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Idb088b6fc3cc045028c33649c84218c708fd601b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25326 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
c86e5b18 | 11-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/malloc: Extract internal of verify_pi() for code reuse
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ib4f3f9e038d824ac5a8e4c65a2cff1a3e365a432 Reviewed-on: https://review.s
bdev/malloc: Extract internal of verify_pi() for code reuse
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ib4f3f9e038d824ac5a8e4c65a2cff1a3e365a432 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25418 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
97329b16 | 26-Apr-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/malloc: malloc_done() uses switch-case for clean up
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ibe8956b54ec5d2bf50f5261f04d0f61a783a5cc2 Reviewed-on: https://review.spdk
bdev/malloc: malloc_done() uses switch-case for clean up
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ibe8956b54ec5d2bf50f5261f04d0f61a783a5cc2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22988 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
f5304d66 | 24-Oct-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/malloc: Fix unexpected DIF verification error for initial read
The patch https://github.com/spdk/spdk/commit/e1f15ba5418b38056fdb6d67186075aa1fada9e7 set reference tag to 0xFFFFFFFF and set app
bdev/malloc: Fix unexpected DIF verification error for initial read
The patch https://github.com/spdk/spdk/commit/e1f15ba5418b38056fdb6d67186075aa1fada9e7 set reference tag to 0xFFFFFFFF and set application tag to 0xFFFF.
However, these are actually written to DIF fields only if their checks are enabled. Usually, reference tag check is enabled but application tag check is disabled.
For DIF type 1 or 2, DIF check is disabled only if application tag is 0xFFFF.
Hence, the value of 0xFFFFFFFF in the reference tag caused verification error for any read.
The previous patch fixed DIF library to set application tag to 0 if its check is disabled. This patch fixes another problem, to set application tag to 0xFFFF as source code comment says even if application tag check is disabled.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I1d444eb6cc6de2e36abc7b0b85364c11dbe1df67 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25324 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
9a684763 | 22-Oct-2024 |
Yash Raj Singh <yash.rajsingh@nutanix.com> |
bdev/nvme: Fix spdk_bdev_nvme_create()
This patch fixes spdk_bdev_nvme_create function by ensuring that base_name received is persisted until we create the bdevs. Current all in-tree callers persist
bdev/nvme: Fix spdk_bdev_nvme_create()
This patch fixes spdk_bdev_nvme_create function by ensuring that base_name received is persisted until we create the bdevs. Current all in-tree callers persist the string parameter that is passed, but we want to support the case for out-of-tree callers which needs the string parameter to be persisted.
Change-Id: I371842607f8360e83283b92ff9750f567fa375ca Signed-off-by: Yash Raj Singh <yash.rajsingh@nutanix.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25209 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
e0d7428b | 23-Oct-2024 |
Atul Malakar <a.malakar@samsung.com> |
lvol: Add custom metadata page size to lvstore
Added new --md_page_size parameter to bdev_lvol_create_lvstore RPC. It facilitates user to pick a custom md_page_size, greater than phys_blocklen of th
lvol: Add custom metadata page size to lvstore
Added new --md_page_size parameter to bdev_lvol_create_lvstore RPC. It facilitates user to pick a custom md_page_size, greater than phys_blocklen of the underlying device.
This will allow functional testing of the large IU metadata changes on 4K IU NVMe SSDs.
Change-Id: Ib1bc68ba4d5b8a7db7f2befc1f616b342c01bc0f Signed-off-by: Atul Malakar <a.malakar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25304 Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
2dc4a231 | 22-Oct-2024 |
Atul Malakar <a.malakar@samsung.com> |
blob: Add support for variable metadata page size
Currently SPDK blobstore depends on 4KB atomicity of metadata. So, Metadata page size will be made variable based on the physical block size reporte
blob: Add support for variable metadata page size
Currently SPDK blobstore depends on 4KB atomicity of metadata. So, Metadata page size will be made variable based on the physical block size reported by the underlying device. This will enable blobstore to store metadata in IU-sized chunks, not always 4KB.
blobstore.c uses SPDK_BS_PAGE_SIZE (4KB) hardcoded at many places. To remove this make the metadata page size variable, phys_blocklen is added to spdk_bs_dev struct and md_page_size is added to spdk_bs_super_block struct.
Change-Id: I29d073eb4f4341a94a0675e70492b9186382f97f Signed-off-by: Atul Malakar <a.malakar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25130 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
0383e688 | 13-Nov-2024 |
Alex Michon <amichon@kalrayinc.com> |
bdev/nvme: Fix race between reset and qpair creation/deletion
We have the following race condition: 1) A reset is initiated. We iterate over all IO channels to destroy the qpairs. 2) A new IO cha
bdev/nvme: Fix race between reset and qpair creation/deletion
We have the following race condition: 1) A reset is initiated. We iterate over all IO channels to destroy the qpairs. 2) A new IO channel is created. We create a nvme qpair. 3) The reset process continues. It iterates over all IO channels to recreate the nvme qpair. `reset_iter` is set on the IO channel created at step 2. (Note that we won't recreate a qpair for the IO channel created at step 2). 4) The IO channel created at step 2 gets deleted. `bdev_nvme_destroy_ctrlr_channel_cb` is called. We skip the qpair disconnection because `reset_iter` is set. In the end, the qpair is never disconnected.
Ensure that we always disconnect qpairs, even if a reset is in progress.
Change-Id: I48af99ed582ebfdcaf2a98a92e9077c048bc7c54 Signed-off-by: Alex Michon <amichon@kalrayinc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25430 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
1c2e5eda | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
bdev/xnvme: Make sure conserve_cpu opt is preserved in the struct
Change-Id: I253ecbdea35a44ef546785770a09f44be7ffbaaf Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://rev
bdev/xnvme: Make sure conserve_cpu opt is preserved in the struct
Change-Id: I253ecbdea35a44ef546785770a09f44be7ffbaaf Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25303 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
8d982eda | 12-Nov-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
dpdk: add adjustments for recent rte_power changes
There were a couple of changes to the rte_power library: 1) Hardware-specific code was moved out of rte_ower into individual drivers under the
dpdk: add adjustments for recent rte_power changes
There were a couple of changes to the rte_power library: 1) Hardware-specific code was moved out of rte_ower into individual drivers under the drivers/power directory. 2) The header file was renamed rte_power.h -> rte_power_cpufreq.h.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Iac8aeb99423a21905a8bea744ccf662539b26da0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25424 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Michal Berger <michal.berger@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
a0c12854 | 04-Nov-2024 |
Yash Raj Singh <yash.rajsingh@nutanix.com> |
bdev/nvme: Make bdev nvme get and set opts APIs public
This patch exposes bdev_nvme_get_opts and bdev_nvme_set_opts APIs. No changes have been done to the implementation of these functions.
Change-
bdev/nvme: Make bdev nvme get and set opts APIs public
This patch exposes bdev_nvme_get_opts and bdev_nvme_set_opts APIs. No changes have been done to the implementation of these functions.
Change-Id: I8498ed81e14abb66283a1608f17bb6bba8e38975 Signed-off-by: Yash Raj Singh <yash.rajsingh@nutanix.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25406 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
53ca6a88 | 22-Oct-2024 |
yash.rajsingh <yash.rajsingh@nutanix.com> |
bdev/nvme: Rearrange fields in spdk_bdev_nvme_opts to reduce holes.
This patch rearranges the fields in spdk_bdev_nvme_opts to reduce the number of holes in the structure which reduces the size of t
bdev/nvme: Rearrange fields in spdk_bdev_nvme_opts to reduce holes.
This patch rearranges the fields in spdk_bdev_nvme_opts to reduce the number of holes in the structure which reduces the size of the overall structure. This is required as a preliminary step to expose the bdev_nvme_get_opts and bdev_nvme_set_opts functions to the public API. Later patches will add these functions to the public API.
Change-Id: I6402afecd582297b3ead98383016e6c8dfd385ba Signed-off-by: Yash Raj Singh <yash.rajsingh@nutanix.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25299 Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot
show more ...
|