Commit Graph

19628 Commits

Author SHA1 Message Date
Konrad Sztyber
10dbbf6d8a bdev/nvme: free log_page when freeing discovery ctx
Currently this should be a no-op as the log_page is always freed in
discovery_remove_controllers(), but it'll make it easier to handle cases
when we want to stop the discovery service while it's attaching NVM
controllers.  We'll be relying on this in the subsequent patch adding
attach timeout to start_discovery().

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ia03fde92bf5ae5590bca507b7a0f963885d85f4f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12721
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
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: Dong Yi <dongx.yi@intel.com>
2022-05-18 07:24:06 +00:00
Alexey Marchuk
622ceb7f07 nvme/rdma: Use rdma qpair as cm_id context
It simplifies code and removes cast of nvme_qpair
to rdma_qpair

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I363246cf9d8c9cbafd48b26facdb5cc37fdd8e67
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12701
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-18 00:34:29 +00:00
Alexey Marchuk
1003e28623 nvme/rdma: Fix qpair destroy/disconnect race
When qpair is attached to a poll group, disconnect
process is async - we are waiting for the DISCONNECTED
event from rdmacm to destroy rdma resources. However
the user (nvme_perf) can destroy qpair immediatelly,
so memory allocated for qpair is freed but rdma
resouces are still allocated. That means that we may
receive rdmacm event (DISCONNECTED) for the destroyed qpair,
that leads to use-after-free.
To fix this problem, add a check for internal qpair state
when qpair is destroyed, if disconnect is not finished, then
we forcefully destroy rdma resources.

Fixes issue #2515

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reported-by: Or Gerlitz <ogerlitz@nvidia.com>
Change-Id: I7bfa53c9f6fe6ed787323a8941f1f2db17ea0c20
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12700
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-18 00:34:29 +00:00
Alexey Marchuk
007fb1d3cb nvme: Fix keyed/unkeyd SGL nvme cmd dump
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I0a08518b5c30455a17158aa440715515d0c066fc
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12133
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
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>
2022-05-17 20:11:43 +00:00
Shuhei Matsumoto
00d46b80b2 bdev/nvme: Disable automatic failback in multipath mode
By default, failback to the preferred I/O path is done automatically
if it is restored. Some users may want to keep using the backup I/O
path even if the preferred I/O path is restored. In this case,
bdev_nvme_set_preferred_path can be used to do manual failback.

We may be able to clear/fill I/O path cache more strictly but it will
be complicated and have bugs. This patch does the minimal change,
just skips an apparent case.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I78fe5faee6ff04e88ae3d7c6be6da1c20637c912
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12431
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
2022-05-17 12:54:45 +00:00
Shuhei Matsumoto
b0ab552452 doc: Multipath document
Add an independent document for NVMe multipath. Then link it from
user_guide.md and bdev.md.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I6035a3c73727b4140d2a78fb10a1e6f94c0bdaa3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12297
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-05-17 12:54:45 +00:00
Tomasz Zawadzki
65bedb496f lib/vhost: add enum to differentiate the vhost backends
Each spdk_vhost_dev_backend is local to either
SCSI or BLK backends, so its not possible to gauge which
backend is used by the vdev on generic vhost layer.

Added a `type` field with matching enums to differentiate
between the two. Later patches will check that field
in vhost.c.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I2a95961b9f9b5f070db7b22d44cf5114a24b1067
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12675
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-16 12:25:03 +00:00
Konrad Sztyber
0aa212bddb bdev/nvme: use stop_discovery in module_fini
Using stop_discovery() will also free the entry contexts tied to that
discovery service.  It's not a big deal to leave them, as module_fini is
usually called on app shutdown, but this gets rid of asan reporting
memory leaks.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I81fc843708694791a5846c24cbde4b32e0fa7287
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12683
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
82889ba8e5 bdev/nvme: free entry_ctx_in_use
It was never freed, so we leaked it.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I9e17d043ebd0d8d11bb776cb2676ac7f53f8ee41
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12682
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
3c61b8ca6d bdev/nvme: extract stopping discovery to a function
For now, it's only called from a single location,
bdev_nvme_stop_discovery, but it'll make it possible to stop the
discovery from other places.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I3ba447f30fd8ed23c392d008b3d03cdad30cdb33
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12681
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
623105bb09 bdev/nvme: zero out the referred discovery trid
If the trid is not zeroed out, trid.trstring might contain garbage
value, which means that nvme_probe_internal() might not populate it
based on trtype and will use that garbage value to get a transport,
leading to the following failure:

```
nvme.c: 834:nvme_probe_internal: *ERROR*: NVMe trtype 3 () not available
```

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I56bc6502d285ee5ce094184e00d3297f6332e8c0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12680
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
5c2b5fc14b bdev/nvme: fix wait_for_attach assignment
Moved assigning ctx->start_cb_fn before it's checked for NULL to set
ctx->wait_for_attach, otherwise it was always false.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I819d9e326dbb36f943279c3714695ae604dd64b2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12628
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
ef675d38c1 bdev/nvme: check discovery service trids during start
Check that we're not already connected to a discovery service that has
the same address (or has a referall to) as the service we're trying to
start.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I84863fd959f62b30e9a348f69d10c7f1edffda7a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12627
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-16 10:20:49 +00:00
Konrad Sztyber
33c14a1445 bdev/nvme: don't allow duplicate discovery service names
Otherwise, we'll try to use the same name to create the bdevs.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I38cfb9073f343a7bf3966754008065c7ab89e609
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12626
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-16 10:20:49 +00:00
Gal Hammer
90aba31ac3 bdev/ocf: Implement ENOMEM handling when submitting IO to base device
Replaced the TODO comment with an error handing in case SPDK fails to
allocate memory for the IO request. Returning the proper error code
will use the bdev's no memory retry mechanism to handle the failure.

Signed-off-by: Gal Hammer <gal.hammer@huawei.com>
Signed-off-by: Shai Fultheim <shai.fultheim@huawei.com>
Change-Id: I151668f26b7f122dca95eaf65934be675e601952
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12372
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-05-16 10:15:27 +00:00
Ben Walker
26f503b00f idxd: Set the impl in idxd for kernel mode
Without this, it does not think there is a driver available.

Change-Id: I0b8b42374e0ed82abb22bf27e0b8907bb03c61f6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12641
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-16 10:15:08 +00:00
Rui Chang
3ed4c29a11 lib/vhost: Fix vhost user cpu usage statistic issue
Currently, when you run vhost user target, no matter if the reactor is
busy or not, spdk_top always shows 100% busy. Fix this by real load
status.

Signed-off-by: Rui Chang <rui.chang@arm.com>
Change-Id: I610a8c2f4e74f46bd56955d31284372c775507ed
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12647
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-16 10:14:52 +00:00
Alexey Marchuk
b0262063d3 vbdev_lvol: Report memory domains
Update functional test to verify that lvol supports
memory domains

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I5e91eedc8879359c3add45d417b6f3eaad4d75b9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11375
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
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>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
aaaf50391f test/dma: Add memzero implementation
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: Ibd5d2296387edc069711eec87b3ec4a8ec5958d6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12345
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
381aa0e105 test/dma: Add option to check specific operation
Add a CLI param "-x" to specify which memory
domain operation must be executed during test

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I0dbee8d5d186da1e177e24beadc4e71909e4057f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12344
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
248ccd8607 lvol: Use blobstore ext API in data path
The new blobstore ext API is used when the user
provides ext_io_opts in bdev layer.
To store blobstore ext_io_opts, vbdev_lvol reports
non-zero get_ctx_size in bdev module interface.

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I64076b5369533be0c1d69ca48aef9d70a9abe488
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11373
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
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>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
c3a40396cf blob/bdev: Use extended blob API
Queued vectored IOs use extended API -
if ext_opts is NULL there is no difference
between regular and extended blob API

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I091f36d81dab04bcd483ea61e667a368441d70e4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11372
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
a236084542 blob: Add readv/writev_ext functions
These function accept optional spdk_blob_ext_io_opts
structure. If this structure is provided by the user
then readv/writev_ext ops of base dev will be used
in data path

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I370dd43f8c56f5752f7a52d0780bcfe3e3ae2d9e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11371
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
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>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
8b25bfce7a blob: Destroy snapshot's back_bs_dev during initialization
When snapshot is created, the new blob is loaded and
examined for BLOB_SNAPSHOT xattr in blob_load_backing_dev
function. At this step there is no such xattr, so zeroes
back_bs_dev is created. Later snapshot inherits back_bs_dev
from original blob, so previously created back_bs_dev can
be lost.

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: I90cc9b02f56598d8c5c7fe00409f571fba0aa91a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11384
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>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
ba8f1a9e5d blob: Add readv/writev ext ops to spdk_bs_dev
Introduce spdk_blob_ext_io_opts structure which
is used in the new *_ext functions.
Zeroes dev is updated with implementation of
readv_ext which uses  memory domains memzero
or regular memset().

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: Id94542196eff999827bf00591fd43804256fccb4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11369
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-16 10:14:26 +00:00
Alexey Marchuk
5fd9561f54 dma: Add memzero function
Add functions to set and call memzero callback to
memory domains library.

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: Ia6ddc3c9e0ca6e9172189964d180444e5da71d30
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12343
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-05-16 10:14:26 +00:00
Boris Glimcher
6a9eab7b1e pkg dependency: Add the openssl package install.
This package is needed for testing SSL functionality.
We using both s_client and s_server mode from this package.

openssl-devel is already installed in scripts/pkgdep.
Here we adding the utility itself.

Change-Id: I389f4d273aefd82f2667aba620d00f17c3e557a9
Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12645
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Michal Berger <michallinuxstuff@gmail.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-13 07:29:06 +00:00
Jim Harris
081d8a8458 reduce: increase REDUCE_MAX_IOVECS to 33
A recent change to the bdevio test changed one of the
tests from a 30x4K IO to a 30xLBA IO.

This has started giving us nightly test failures (see
issue #2499).  It is because now the 30 * LBA (512B)
is 15KB which all fits within one 16KiB reduce chunk,
yet we only allocate REDUCE_MAX_IOVS
(17) iovs per reduce IO context.  Previously when
they were 4KiB each, we would only need 4 iovecs
(16KiB / 4KiB).

We may need to think through this a bit more, to
make this more dynamic (based on the chunk size
and underlying block size), but for now let's at
least increase this enough to handle the most
common 16KiB chunk / 512B LBA case.

While here, run bdevio as part of per-patch testing,
that would have helped us catch this issue before the
a6e022463 patch got merged.

Fixes #2499.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2140c5b9d038b202edfdcbb2bfee059140f7703a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12672
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-13 07:28:58 +00:00
Karol Latecki
2874d8ff8f scripts/nvmf_perf: reload ice driver after ADQ tests
Always reload ICE driver after tests with ADQ enabled.
This is to reset tc qdisc and filter settings and make
sure they don't affect future tests.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I70b94ef236741fe81870954f9901e02b9b5aadb9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12622
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-13 07:26:25 +00:00
Krzysztof Karas
a39cf2d682 spdk/dpdk: update DPDK submodule to version 22.03
Additionally add dmadev to vhost dependencies,
since it is needed as of commit
53d3f4778c1dbdebbef6c5e94e772b24f0998d35 in DPDK.

Change-Id: Ifd9cac8ef9c50b52da815d43869c8291aa72a326
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12638
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-13 07:09:47 +00:00
Karol Latecki
3bdb1a2f55 test/nvmf: reduce number of iterations in connect_disconnect test
Reduce the number of iterations by half. Currently this
test often leads to time-outs in CI nightly testing because
of how long it takes.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I3ccf9663706e5f79da609d6b9ffa08bb89dc31dd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12658
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-13 07:02:17 +00:00
Karol Latecki
dacd8ec827 test/nvmf: increase waitforserial() initial wait time
Increase waitforserial() function initial wait time.
When testing with 5.16.X kernel version 2 seconds were
not enough and issuing a "disconnect" immediatelly after
"connect" caused keepalive timeout.

Fixes #2467

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Ib913be35b2383daf5f5037e258bbdd2477810921
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12587
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-12 09:18:34 +00:00
Shuhei Matsumoto
5e5423de93 nvme: Add DISABLED to ctrlr's state to show completion of Controller Level Reset
In the following patches, nvme_ctrlr_process_init() will be used to
disable the controller when disconnecting the admin qpair for PCIe
transport. In this case, we will have to exit nvme_ctrlr_process_init()
after CSTS.RDY is 0. However, spdk_nvme_ctrlr_reset() and
spdk_nvme_ctrlr_reconnect_poll_async() have to continue
nvme_ctrlr_process_init() until the controller becomes ready.

To differentiate stop and continue clearly, add a new state
NVME_CTRLR_STATE_DISABLED to enum nvme_ctrlr_state.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ic0a5fb7114d4eeb1cefec28bc404184768fb0a96
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12613
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-12 07:28:02 +00:00
Shuhei Matsumoto
fe9a8fab7b bdev/nvme: Factor out set callback and call ctrlr_disconnect() into a helper function
The following patches will swap the ordering of destroying I/O qpairs
and disconnecting a controller for PCIe transport to fix a github issue.

Setting callback and calling spdk_nvme_ctrlr_disconnect() have been
executed in two cases now.

After the following patches, these will be executed in three cases.

Factoring out these into a helper function will be rewarded.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I8597908d7fd8acc6dc62ec442ba2e8c4c08f11a4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12562
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-12 07:28:02 +00:00
Shuhei Matsumoto
91165150cc bdev/nvme: Factor out deleting all I/O qpairs for reset into a helper function
The following patches will swap the ordering of destroying I/O qpairs
and disconnecting a controller for PCIe transport to fix a github issue.
For PCIe transport, destroying I/O qpairs will be as the completion
callback to controller disconnection. To do this easier, factor out
destroying I/O qpairs into a helper function.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I96bb6d0487fc67b71c759ee64200bd7fb71aceb1
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12561
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-12 07:28:02 +00:00
wanghailiangx
1427379477 nvmf: remove support for deprecated RPC names
These were deprecated in 2019, it's time to remove
support for them now.

Change-Id: I3b75eea83bd7d700d20a6189e8fb6d1f066dc9b4
Signed-off-by: wanghailiangx <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12603
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
2022-05-12 07:27:45 +00:00
Karol Latecki
5da326ee4d scripts/nvmf_perf: save SAR CPU util to different file
Use different file to save calculated CPU utlization
and do not modify original SAR output.

Change-Id: I415242a5610f1c2a43a038baafa8dcc4f9e8fae2
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12526
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-12 07:27:39 +00:00
Karol Latecki
0eec19d740 scripts/nvmf_perf: move sar file name into function
Move sar output file generation into measure_sar
function and pass a file name prefix instead.
More than one file will be created by the function
based on that prefix.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I671887d4d232821c0de19eb338150d30201be204
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12525
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-05-12 07:27:39 +00:00
Karol Latecki
6acfe37999 scripts/nvmf_perf: modify SAR log messages
Re-phrase "waiting" message a bit and add another
message notifying that measurements are actually starting.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I55d8ed761bf45a590322cffc5b776a44774977dd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12522
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-12 07:27:39 +00:00
Liu Xiaodong
8c1180ead8 nvme/perf: fix memory leak of zipf
Change-Id: Ide74485a4d6e71e46db3e365a3cbe21480ea54c3
Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12608
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
2022-05-12 07:26:43 +00:00
wanghailiangx
d8d29ec0b1 log: remove support for deprecated RPC names
These were deprecated in 2019, it's time to remove
support for them now.

Change-Id: I32dd9960bc397244d8e3d0a384fc8b67e907bf68
Signed-off-by: wanghailiangx <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12601
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
2022-05-12 07:26:35 +00:00
Jim Harris
f6b074db3b autobuild.sh: exclude libvfio-user from scan-build
We already exclude dpdk from scan-build, so it only
makes sense to exclude libvfio-user as well to be
consistent.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I1bc64ea917cfdc4ccddf35db6989b145fa40839c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12642
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
2022-05-12 07:25:49 +00:00
Monica Kenguva
91751e1e40 test/nvmf: Multipath testing with ANA states support
Signed-off-by: Monica Kenguva <monica.kenguva@intel.com>
Change-Id: Ide3af4fd027450eeac523e7078ba41ab0572ed80
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10197
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
2022-05-12 07:22:23 +00:00
luzhipeng
6735751844 scripts/rpc.py: remove redundant code
This call bdev_rbd_resize twice, so delete one.

Signed-off-by: luzhipeng <luzhipeng@cestc.cn>
Change-Id: I5fa07a3b66284436759983405acb32b511051c0c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12570
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
2022-05-11 09:41:27 +00:00
GangCao
df5aff4f9a examples/idxd/perf: update the input parameter
Change-Id: Ie0f3e4bbff47b23d58628756b6cfde3aaa69cc77
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12598
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: <yex.chen@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-11 09:38:47 +00:00
Richael Zhuang
ae7294d48c sock: correct the annotation
'enable_zerocopy_send_server' and 'enable_zerocopy_send_client' are used in
both posix and uring sockets.

Change-Id: I6139aa98039c853a953ecea773c82dad8285a3e4
Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12586
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
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>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-11 09:38:07 +00:00
Jonas Pfefferle
e0c4bba399 bdev: refactor ext opts checks
Move check if opts needs copy to its own function.
Move check if opts is valid into its own function.

Signed-off-by: Jonas Pfefferle <pepperjo@japf.ch>
Change-Id: Ie006ddd0b642eb97aaa3ab13890800322dee7a42
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12571
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-11 09:37:45 +00:00
Curt Bruns
ad3634af31 test: process admin completions during stub sleep
The stub app runs during NVMe CI testing to minimize test time.
It runs as the primary process and all other NVMe tests
run as secondary processes and connect to the NVMe controller
via shared memory. The issue is when there is an Async Event
Notification, the secondary processes are not informed of the
event because the stub app does not process admin completions
and therefore they do not get added to other processes async
event list. This change adds a call to process admin
completions during the stub_sleep routine to cover this type
of AEN case. A configurable sleep time was also added to
allow the admin completion calls to occur more rapidly to help
minimize test time, if needed.

Signed-off-by: Curt Bruns <curt.e.bruns@gmail.com>
Change-Id: I72d5afc511c4409ec4a03cd969dbbc0d7dd4f256
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12555
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-05-11 09:35:23 +00:00
Karol Latecki
95f747aef0 autobuild: skip DAOS modules
Allow DAOS modules to be not built during scanbuild test.
The CI systems which do the autobuild & scanbuild tests are

DAOS development packages necessary to build "--with-daos"
are not available for Fedora systems which are used to run
build tests.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I3e01413a64d55dae2a0d77c3bf5fa9ed23c7ad87
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12408
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-11 09:35:03 +00:00
Gal Hammer
84863d99a8 bdev/ocf: Fix no memory error value check
On I/O request completion, OCF uses OCF_ERR_NO_MEM (and not ENOMEM) to
report a memory allocation failure.

Signed-off-by: Gal Hammer <gal.hammer@huawei.com>
Signed-off-by: Shai Fultheim <shai.fultheim@huawei.com>
Change-Id: If06608d7aa0fc747a79564b7372c915d99307235
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12352
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-05-11 09:34:45 +00:00