|
Revision tags: v25.01-rc1 |
|
| #
52a41348 |
| 02-Dec-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
bdev: do not retry nomem I/Os during aborting them
If bdev module reports ENOMEM for the first I/O in an I/O channel, all subsequent I/Os would be queued in the nomem list. In this case, io_outstand
bdev: do not retry nomem I/Os during aborting them
If bdev module reports ENOMEM for the first I/O in an I/O channel, all subsequent I/Os would be queued in the nomem list. In this case, io_outstanding and nomem_threshold would remain 0, allowing nomem I/Os to be resubmitted unconditionally.
Now, a coming reset could trigger nomem I/O resubmission when aborting nomem I/Os in the following path:
``` bdev_reset_freeze_channel -> bdev_abort_all_queued_io -> spdk_bdev_io_complete -> _bdev_io_handle_no_mem -> bdev_ch_retry_io ```
Both bdev_abort_all_queued_io and bdev_ch_retry_io modifies nomem_io list in this path. Thus, there might be I/Os that are firstly submitted to the underlying device by bdev_ch_retry_io, and then get aborted by bdev_abort_all_queued_io, resulting in double-completion of these I/Os later.
To fix this, just do not resubmit nomem I/Os when aborting is in progress.
Change-Id: I1f66262216885779d1a883ec9250d58a13d8c228 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25522 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> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
ff173863 |
| 20-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
ut/bdev: Remove duplication with many stups among unit test files
Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test files into the new file common_stubs.h in test/common/lib/bdev.
ut/bdev: Remove duplication with many stups among unit test files
Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test files into the new file common_stubs.h in test/common/lib/bdev.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ic3d75821bf828e196fa576a18feae90d8bd2ffeb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25455 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot
show more ...
|
| #
d47eb51c |
| 30-Oct-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
bdev: fix a race between reset start and complete
There is a race between reset start and complete:
1. reset_1 is completing. It clears bdev->internal.reset_in_progress and sends unfreeze_channe
bdev: fix a race between reset start and complete
There is a race between reset start and complete:
1. reset_1 is completing. It clears bdev->internal.reset_in_progress and sends unfreeze_channel messages to remove queued resets of all channels. 2. reset_2 is starting. As bdev->internal.reset_in_progress has been cleared, it is inserted to queued_resets list and starts to freeze channels. 3. reset_1's unfreeze_channel message removes reset_2 from queued_resets list. 4. reset_2 finishes freezing channels, but the corresponding bdev_io has gone, hence resulting in segmentation fault.
To fix this, we use per-bdev queued_resets list instead of per-channel ones, and nullify bdev->internal.reset_in_progress after unfreezing bdev channels. In this way, we can assure that all resets submitted during an in-progress reset can be queued and completed correctly.
Besides, we do not insert the reset that is submitted to the underlying device into the queued_resets list, so that the list can be processsed cleanly.
Change-Id: I7cb14d790c1e20cea86e4829555d04acc408ee28 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25371 Tested-by: SPDK CI Jenkins <sys_sgci@intel.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> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: GangCao <gang.cao@intel.com>
show more ...
|
|
Revision tags: v24.09, v25.01-pre, v24.09-rc1, v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1 |
|
| #
dc996557 |
| 29-Sep-2023 |
Ben Walker <ben@nvidia.com> |
bdev: Remove module_link from spdk_bdev_io
This is no longer used.
Change-Id: Ic74b4a91941b0e3fcac921489ce2c62783be2881 Signed-off-by: Ben Walker <ben@nvidia.com> Reviewed-on: https://review.spdk.i
bdev: Remove module_link from spdk_bdev_io
This is no longer used.
Change-Id: Ic74b4a91941b0e3fcac921489ce2c62783be2881 Signed-off-by: Ben Walker <ben@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24364 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
95df4e0d |
| 20-May-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Fix a race bug between unregistration and QoS poller
There was a bug that bdev_channel_poll_qos() called spdk_for_each_channel() after spdk_io_device_unregister() is called for a bdev.
This o
bdev: Fix a race bug between unregistration and QoS poller
There was a bug that bdev_channel_poll_qos() called spdk_for_each_channel() after spdk_io_device_unregister() is called for a bdev.
This occurred in the following sequence. - There was a bdev and a channel for it. - QoS was enabled and started. - spdk_bdev_unregister() was called. However, there was a open descriptor. Hence, remove notification was sent and unregistration was pending. - Receiving a event notification, spdk_put_io_channel() and spdk_bdev_close() were called. In spdk_bdev_close(), the existing QoS was unbound and a message was sent to it, and then the pending spdk_io_device_unregister() was finally executed. - If bdev_channel_poll_qos() was executed before the message was processed, bdev_channel_poll_qos() called spdk_bdev_for_each_channel() and hit assert().
The fix is in this case bdev_channel_poll_qos() returned immediately because QoS is not enabled. bdev_qos_destroy() created a new disabled QoS and swapped it with the existing QoS.
Fixes issue #3367
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I8d4525c9206f7f395ad4ba4a706fed59addc3fe8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23219 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| #
dbf0a9a5 |
| 15-May-2024 |
Ben Walker <ben@nvidia.com> |
Revert "bdev: Remove module_link from spdk_bdev_io"
This reverts commit d1fd0d13acccbc0f0e9bfd5449d7c2882c644d82.
Change-Id: I5f82863f3948e2e17113575aa103ddbdc5cdbc14 Signed-off-by: Ben Walker <ben
Revert "bdev: Remove module_link from spdk_bdev_io"
This reverts commit d1fd0d13acccbc0f0e9bfd5449d7c2882c644d82.
Change-Id: I5f82863f3948e2e17113575aa103ddbdc5cdbc14 Signed-off-by: Ben Walker <ben@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23190 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
79e2a56f |
| 25-Apr-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
accel: remove flags
They were unused, deprecated, and scheduled for removal in v24.05.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I48e7e59df56cf2368f23e925360644665948585a
accel: remove flags
They were unused, deprecated, and scheduled for removal in v24.05.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I48e7e59df56cf2368f23e925360644665948585a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22950 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
| #
d1fd0d13 |
| 29-Sep-2023 |
Ben Walker <ben@nvidia.com> |
bdev: Remove module_link from spdk_bdev_io
This is no longer used.
Change-Id: I11adf75d18669ae950eced57d52a97bc5b453de4 Signed-off-by: Ben Walker <ben@nvidia.com> Reviewed-on: https://review.spdk.i
bdev: Remove module_link from spdk_bdev_io
This is no longer used.
Change-Id: I11adf75d18669ae950eced57d52a97bc5b453de4 Signed-off-by: Ben Walker <ben@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21938 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
|
Revision tags: v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1 |
|
| #
055de83a |
| 02-Mar-2023 |
Anton Nayshtut <anayshtut@nvidia.com> |
bdev: multiple QoS queues with atomic-based QoS quota
Here's a comparison of the legacy and the atomic-based QoS.
Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled the limit set
bdev: multiple QoS queues with atomic-based QoS quota
Here's a comparison of the legacy and the atomic-based QoS.
Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled the limit set to the value higher than the setup is capable of achieving (900.000.000 IOPs).
| bdev | CPU | No QoS | Legacy QoS | Atomic QoS | LP | AP | | | Mask | | (IOPS) | (IOPS) | (%) | (%) | |--------|------|--------------|------------|-------------|-----|-----| | null | 1 | 10807210.39 | 8720802.93 | 8883633.79 | 19 | 18 | | null | 3 | 21065293.41 | 7798114.51 | 8605514.14 | 63 | 59 | | null | 7 | 31941220.35 | 8026022.82 | 11057120.85 | 75 | 65 | | null | F | 42510017.40 | 7655892.00 | 11832259.16 | 82 | 72 | | null | FF | 80864836.44 | 7598421.52 | 13096449.71 | 91 | 84 | | null | FFF | 121780455.70 | 7609117.22 | 11030412.77 | 94 | 91 | | null | FFFF | 162071300.70 | 7558077.12 | 10826030.57 | 95 | 93 | | malloc | 1 | 1948096.14 | 1863817.94 | 1881245.75 | 4 | 3 | | malloc | 3 | 3803549.11 | 2068897.67 | 3155528.57 | 46 | 17 | | malloc | 7 | 5593798.24 | 2227017.22 | 4387343.78 | 60 | 22 | | malloc | F | 7231720.95 | 2281762.70 | 5797832.38 | 68 | 20 | | malloc | FF | 12070891.12 | 2614674.11 | 9690367.72 | 78 | 20 | | malloc | FFF | 13989626.48 | 2630881.18 | 12840411.99 | 81 | 8 | | malloc | FFFF | 14405443.97 | 2600775.13 | 9992956.98 | 82 | 31 |
Change-Id: Ia91706b761e085b4231a2fb9a08565c305735b7d Signed-off-by: Anton Nayshtut <anayshtut@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18914 Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| #
debc2429 |
| 07-May-2023 |
Anton Nayshtut <anayshtut@nvidia.com> |
bdev_ut: abort all IOs upon reset
This patchset fixes the UT reset. It makes sure all the outstanding IOs are aborted and not only the ones which belong to the current channel.
Change-Id: I60267670
bdev_ut: abort all IOs upon reset
This patchset fixes the UT reset. It makes sure all the outstanding IOs are aborted and not only the ones which belong to the current channel.
Change-Id: I602676706a20593382e13d902c2f47a0862a4ce5 Signed-off-by: Anton Nayshtut <anayshtut@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18913 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
| #
ea941cae |
| 28-Jul-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/unit: use spdk_ut_run_tests()
Replaced direct calls to the CUnit's functions to run the tests with spdk_ut_run_tests(). That way, each test will have the ability to run a specific test case.
test/unit: use spdk_ut_run_tests()
Replaced direct calls to the CUnit's functions to run the tests with spdk_ut_run_tests(). That way, each test will have the ability to run a specific test case.
The blob.c unit test wasn't changed, because it runs all tests multiple times with different parameter combinations, so it cannot be easily converted. In the future, each such combination could be split into a separate test suite, which would make it compatible with spdk_ut_run_tests().
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I4463f808f89844e9bf32b5b31eda197c5d729d1d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19288 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
ae431e31 |
| 28-Jul-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/unit: move spdk_cunit.h to include/spdk_internal
It'll make it easier to include this file outside of unit tests.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I171ddb864
test/unit: move spdk_cunit.h to include/spdk_internal
It'll make it easier to include this file outside of unit tests.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I171ddb8649f67b5786f08647560e2907603d0574 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19284 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
687cfd4b |
| 11-May-2023 |
Artur Paszkiewicz <artur.paszkiewicz@intel.com> |
bdev: pass the range in lba range lock callback
This will be used by the following patch adding bdev quiesce API.
Change-Id: I636aaf47b79755c60c181f12b876a8c8a5a24a7b Signed-off-by: Artur Paszkiewi
bdev: pass the range in lba range lock callback
This will be used by the following patch adding bdev quiesce API.
Change-Id: I636aaf47b79755c60c181f12b876a8c8a5a24a7b Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18099 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
| #
63524340 |
| 09-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
accel: make spdk_accel_sequence_finish() void
It always returns 0 and any errors are reported in the callback. Making it void simplifies error handling.
Signed-off-by: Konrad Sztyber <konrad.sztyb
accel: make spdk_accel_sequence_finish() void
It always returns 0 and any errors are reported in the callback. Making it void simplifies error handling.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I0d4299a2789a688eae38d76de46d1baf27cbbd8f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17194 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| #
04c222f2 |
| 15-Feb-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev: accel sequence support for read requests
This patch enables passing accel sequence for read requests. The handling is pretty similar to writes, but the sequence is executed after a request is
bdev: accel sequence support for read requests
This patch enables passing accel sequence for read requests. The handling is pretty similar to writes, but the sequence is executed after a request is completed by a bdev module.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I79fd7d4873265c81a9f4a66362634a1c4901d0c9 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16975 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
22c0e978 |
| 14-Feb-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev: accel sequence support for write requests
It is now possible to submit a write request with a sequence of accel operations that need to be executed before actually writing the data.
Such requ
bdev: accel sequence support for write requests
It is now possible to submit a write request with a sequence of accel operations that need to be executed before actually writing the data.
Such requests will be directly passed to a bdev module (so that it can append subsequent operations to an accel sequence) if that bdev supports accel sequences and the request doesn't need to be split. If either of these conditions are not met, bdev layer will execute all the accumulated accel operations before passing the request to a bdev module.
The reason for not submitting split IOs with an accel sequence is that we would need to split that accel sequence too. Currently, there's no such functionality in accel, so we treat this case in the same way as if the underlying bdev module didn't support accel sequences (it's executed before bdev_io is split).
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I66c53b3a1a87a35ea2687292206c899f80aaed4a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16974 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
80b22cf3 |
| 14-Feb-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev: allocate accel_channel for each bdev_channel
This channel will be used to execute accel operation sequences.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ied4bb57d14a50
bdev: allocate accel_channel for each bdev_channel
This channel will be used to execute accel operation sequences.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ied4bb57d14a50a923908ffb13ef4ba34ca65175c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16972 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
|
Revision tags: v23.01, v23.05-pre, v23.01-rc1 |
|
| #
3e7394af |
| 19-Dec-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
bdev: remove bdev_register_examine_thread deprecation
Starting in SPDK 23.01, calling spdk_bdev_register() and spdk_bdev_examine() from a thread other than the app thread was deprecated. This commit
bdev: remove bdev_register_examine_thread deprecation
Starting in SPDK 23.01, calling spdk_bdev_register() and spdk_bdev_examine() from a thread other than the app thread was deprecated. This commit removes the deprecation and as such calling these functions from a thread other than the app thread is an error.
As a side effect of this commit, all bdev module examine_config() and examine_disk() callbacks will be called on the app thread.
Change-Id: Idaae06608101e2a513d9312ac5544ffe94effe4a Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15826 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
| #
3522d43a |
| 27-Jan-2023 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Unify _resize_notify() and _remove_notify()
The next patch will improve media mgmt notifications but it will be almost same as _resize_notify() and _remove_notify().
On the other hand, there
bdev: Unify _resize_notify() and _remove_notify()
The next patch will improve media mgmt notifications but it will be almost same as _resize_notify() and _remove_notify().
On the other hand, there are a few differences between _resize_notify() and _remove_notify(). _remove_notify() will be better.
To avoid duplication, unify _resize_notify() and _remove_notify() by adding abstraction event_notify() and _event_notify().
Add unit tests for the complex race conditions.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ibe2478479c61459c0da0db8d28c7273f05275e0f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16577 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
cf64422a |
| 27-Jan-2023 |
Jim Harris <james.r.harris@intel.com> |
bdev: call unregister callback on correct thread
We should always called the unregister callback on the same thread that spdk_bdev_unregister() was originally called. So save the thread pointer and
bdev: call unregister callback on correct thread
We should always called the unregister callback on the same thread that spdk_bdev_unregister() was originally called. So save the thread pointer and use an spdk_thread_send_msg() to make sure it gets called on the correct thread when the unregister finishes.
Also add unit test that reproduces the original issue.
Fixes issue #2883.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ib3d89368aa358bc7a8db46a8a8cb6339340469d9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16554 Reviewed-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.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>
show more ...
|
| #
a6e58cc4 |
| 29-Nov-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
bdev: examine and register on app thread
This introduces a deprecation for calling spdk_bdev_register() and spdk_bdev_examine() on a thread other than the app thread. The deprecation period starts i
bdev: examine and register on app thread
This introduces a deprecation for calling spdk_bdev_register() and spdk_bdev_examine() on a thread other than the app thread. The deprecation period starts in SPDK 23.01 and removal is expected in SPDK 23.05.
The intent of this deprecation is to ensure that bdev modules' examine_config() and examine_disk() callbacks are only ever called on the app thread. This largely a formalization of what has long happened due to the RPC poller running on the first thread started by spdk_app_start().
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ic9d7b87b6522be20357d2eab2d0c77cd5753452f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15690 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@intel.com>
show more ...
|
| #
1450c547 |
| 14-Dec-2022 |
GangCao <gang.cao@intel.com> |
lib/bdev: send back the eligible QoS IO to the original thread
Fix issue: #2815
Change-Id: Ic1533b9ed055734a721be0fd7159754e5db1791b Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https:/
lib/bdev: send back the eligible QoS IO to the original thread
Fix issue: #2815
Change-Id: Ic1533b9ed055734a721be0fd7159754e5db1791b Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15917 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
|
Revision tags: v22.01.2 |
|
| #
5a3e64ef |
| 04-Nov-2022 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev: replace internal buffer pools with iobuf
The internal mempools were replaced with the newly added iobuf interface.
To make sure we respect spdk_bdev_opts's (small|large)_buf_pool_size, we cal
bdev: replace internal buffer pools with iobuf
The internal mempools were replaced with the newly added iobuf interface.
To make sure we respect spdk_bdev_opts's (small|large)_buf_pool_size, we call spdk_iobuf_set_opts() from spdk_bdev_set_opts(). These two options are now deprecated and users should switch to spdk_iobuf_set_opts().
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ib1424dc5446796230d103104e272100fac649b42 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15328 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
| #
b45556e2 |
| 14-Nov-2022 |
Changpeng Liu <changpeng.liu@intel.com> |
include/bdev_module.h: add `SPDK_` prefix to macros
`BDEV_IO_NUM_CHILD_IOV` and `BDEV_RESET_IO_DRAIN_RECOMMENDED_VALUE` are public macro definitions without `SPDK_` prefix, so we add the `SPDK_` pre
include/bdev_module.h: add `SPDK_` prefix to macros
`BDEV_IO_NUM_CHILD_IOV` and `BDEV_RESET_IO_DRAIN_RECOMMENDED_VALUE` are public macro definitions without `SPDK_` prefix, so we add the `SPDK_` prefix to them.
Change-Id: I4be86459f0b6ba3a4636a2c8130b2f12757ea2da Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15425 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
| #
a6dbe372 |
| 01-Nov-2022 |
paul luse <paul.e.luse@intel.com> |
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date defa
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date default <file> | tail -1
and then pull just the 4 digit year from the result.
Intel copyrights were not added to files where Intel either had no contribution ot the contribution lacked substance (ie license header updates, formatting changes, etc). Contribution date used "--follow -C95%" to get the most accurate date.
Note that several files in this patch didn't end the license/(c) block with a blank comment line so these were added as the vast majority of files do have this last blank line. Simply there for consistency.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot
show more ...
|