|
Revision tags: v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1, v23.09, v24.01-pre, v23.09-rc1 |
|
| #
6ecf0442 |
| 21-Sep-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/nvme: add option to control accel sequence support
There are still some limitiations to the way IOs with an accel sequence are handled: mainly, they'll never be retried by bdev_nvme, because it
bdev/nvme: add option to control accel sequence support
There are still some limitiations to the way IOs with an accel sequence are handled: mainly, they'll never be retried by bdev_nvme, because it cannot re-execute an accel sequence (and it doesn't even know whether that sequence was executed or not).
We plan to address this issue in the future, but, in the interim, a new option, allow_accel_sequence, was added to allow users to control whether NVMe bdevs report support for accel sequences (of course the underlying controller must also support them).
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I560419c605b1f6e2f825a33411e06d120c4d5629 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20014 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 ...
|
| #
a52a8a01 |
| 29-Jun-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/bdev: several small chaining.sh improvements
1) `rm -f` ignores non-existing files and arguments, so any checks before calling it are unnecessary. 2) Changed the test before killing bdevperf
test/bdev: several small chaining.sh improvements
1) `rm -f` ignores non-existing files and arguments, so any checks before calling it are unnecessary. 2) Changed the test before killing bdevperf, as -v will only ensure that a variable was declared, but it could still be empty. 3) Quoted all keys referencing the stats array to emphasize that it is an associative array.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Id230b133f79475ebaa382cb30d37e95b1226b14d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18870 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@gmail.com> Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
show more ...
|
| #
ed87975a |
| 14-Jun-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
nvme/tcp: report accel sequence support
That allows users to submit requests with an associated accel sequence that will be executed prior/after the data is sent/received (depending on the IO type).
nvme/tcp: report accel sequence support
That allows users to submit requests with an associated accel sequence that will be executed prior/after the data is sent/received (depending on the IO type). The support is only advertised if data digest is also enabled, otherwise there's no benefit in doing so.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: If83808c60b78cddfbe591b23e0239c6b6fd6c6ce Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18799 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
2ed026b1 |
| 15-Jun-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/bdev: verify chaining integration with NVMe/TCP
Add an extra case to the chaining test that runs rw traffic with data digest enabled and verifies that the total number of executed operations/se
test/bdev: verify chaining integration with NVMe/TCP
Add an extra case to the chaining test that runs rw traffic with data digest enabled and verifies that the total number of executed operations/sequences is as expected.
Currently, the TCP transport doesn't report support for accel sequences, so the operations cannot be chained and the expected number of executed accel sequences is equal to the total number of operations.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ie4bad7ffc9b221dc1a008c4664fb3f652c480767 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18798 Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Jim Harris <jim.harris@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v23.05, v23.09-pre, v23.01.1 |
|
| #
4a4c905b |
| 25-Apr-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/bdev: extend chaining test with bdev layer ENOMEM case
The test already checked ENOMEM handling, but it only used bdevs that support chaining (crypto, malloc), so bdev layer didn't need to exec
test/bdev: extend chaining test with bdev layer ENOMEM case
The test already checked ENOMEM handling, but it only used bdevs that support chaining (crypto, malloc), so bdev layer didn't need to execute any accel operations. So, to force bdev layer to do that, a passthru bdev was added, as it doesn't support chaining.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I322a65ccebb0f144c759692fff285cfd44bbab4b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17766 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
3824f6e3 |
| 22-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/crypto: complete IOs on ENOMEM from accel
spdk_bdev_queue_io_wait() can only be used when one of bdev submission functions returns ENOMEM (i.e. there are no more spdk_bdev_ios on that IO channe
bdev/crypto: complete IOs on ENOMEM from accel
spdk_bdev_queue_io_wait() can only be used when one of bdev submission functions returns ENOMEM (i.e. there are no more spdk_bdev_ios on that IO channel). Using it in any other case, e.g. on spdk_accel_append_*() returning ENOMEM, will most likely result in failure. Therefore, to avoid that, the IOs are completed with NOMEM status relying on the bdev layer to retry them.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ie0f03496e5d3180c481815b3f1b021e74ae2f46d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17319 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| #
97ce07c2 |
| 09-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/malloc: report accel sequence support
This actually allows malloc bdev to chain multiple accel operations together. And, since the last operation will always be a copy, accel should remove tha
bdev/malloc: report accel sequence support
This actually allows malloc bdev to chain multiple accel operations together. And, since the last operation will always be a copy, accel should remove that copy by modifying previous operation's dst/src.
On my system, it improved bdevperf performance (single core, qd=4, bs=128k, bdev_crypto on top of bdev_malloc, crypto_sw):
randread: 5668M/s -> 8201M/s randwrite: 5148M/s -> 7856M/s
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I5b9173fa70a42ee56f56c496a34037d46d2f420f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17202 Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
06fd87e4 |
| 09-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/malloc: use appends for write requests
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ief6c873a5f65274a25b67bc3f2811d8f3e4a33b3 Reviewed-on: https://review.spdk.io/gerrit/c
bdev/malloc: use appends for write requests
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ief6c873a5f65274a25b67bc3f2811d8f3e4a33b3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17200 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| #
560164d8 |
| 09-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/malloc: use appends for read requests
This only changes the interface bdev_malloc uses for scheduling the copy to appends, but it won't chain those copies to an existing sequence, as bdev_mallo
bdev/malloc: use appends for read requests
This only changes the interface bdev_malloc uses for scheduling the copy to appends, but it won't chain those copies to an existing sequence, as bdev_malloc doesn't report support for accel sequences yet. That will be changed in one of the subsequent patches.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I6db2c79b15cb96a1b07c6cf5514004c76b9d2e92 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17198 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> 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 ...
|
| #
6060669e |
| 08-Mar-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/bdev: accel chaining test
This test sends several read/write requests and verifies the expected number of accel operations have been executed.
Signed-off-by: Konrad Sztyber <konrad.sztyber@int
test/bdev: accel chaining test
This test sends several read/write requests and verifies the expected number of accel operations have been executed.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Idda46ef00dc5bcc0a176d3dfb39f3f3861964741 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17193 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|