| d66a1e46 | 15-Nov-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/interrupt: Verify pre|post IO cpu load
Measuring cpu load while running perform_tests is flaky and varies depending on different factors. To make sure this doesn't become a intermittent nu
test/nvme/interrupt: Verify pre|post IO cpu load
Measuring cpu load while running perform_tests is flaky and varies depending on different factors. To make sure this doesn't become a intermittent nuisance, we simply try to determine if cpu load is "low" pre and post the workload.
Change-Id: I3ad71dddfcd84194bec5a3191517e6efe9a8fbf2 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25443 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Ankit Kumar <ankit.kumar@samsung.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>
show more ...
|
| a5dab6cf | 12-Nov-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Make sure nvme selected for tests is not used
Change-Id: Id2ce8c4f417abeb50407b766dda5fb4483a62712 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review
test/nvme/xnvme: Make sure nvme selected for tests is not used
Change-Id: Id2ce8c4f417abeb50407b766dda5fb4483a62712 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25422 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> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 87650986 | 25-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Test all conserve_cpu variants
Test them against all io_mechanisms.
Change-Id: I7eef71541440774f4551d09f0e9a8fafcc85c8ec Signed-off-by: Michal Berger <michal.berger@intel.com> Revi
test/nvme/xnvme: Test all conserve_cpu variants
Test them against all io_mechanisms.
Change-Id: I7eef71541440774f4551d09f0e9a8fafcc85c8ec Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25376 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| a25b1619 | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Enable polling in nvme driver
Under latest linux kernels (>=6.11.x) the underlying filename must support polled io for the uring's IOPOLL to work. Since we use nvme for these tests,
test/nvme/xnvme: Enable polling in nvme driver
Under latest linux kernels (>=6.11.x) the underlying filename must support polled io for the uring's IOPOLL to work. Since we use nvme for these tests, make sure number of polling queues is > 0 while setting up the driver.
in blockdev.sh xnvme is not the critical part of the tests so instead of playing with nvme driver, we simply enable conserve_cpu which skips IOPOLL setup altogether.
Change-Id: I63771c63a8be8bc3415c098ffeefa4475b8dc7ed Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25321 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
| bb53e3ad | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Drop null_blk
Since io_uring_cmd forces use of nvme, there's no much point in keeping other mechanisms bound to different set of block devices. Just use nvme across all of them.
Ch
test/nvme/xnvme: Drop null_blk
Since io_uring_cmd forces use of nvme, there's no much point in keeping other mechanisms bound to different set of block devices. Just use nvme across all of them.
Change-Id: I71f529924b177f9b4026c9c6c3eb8a4ab90be94a Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25317 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| ace52fb4 | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Tidy the test suite
Split common stuff into common.sh which will try to emulate some sort of a logic for the main tests which should resolve around different io_mechanisms - the ide
test/nvme/xnvme: Tidy the test suite
Split common stuff into common.sh which will try to emulate some sort of a logic for the main tests which should resolve around different io_mechanisms - the idea is to generally remove all the superfluous checks and have a prep dedicated for each mechanism.
The xnvme_to_malloc_dd_copy test is removed altogether since in context of xnvme it doesn't add anything sensible to the table - it's removal won't affect the final code coverage.
Change-Id: If91cc6f2d3f6937fef22c534c57b2972caf26e8b Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25316 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> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 46fd068f | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Add io_uring_cmd
This requires some extra dance since it seems it can work only on top of generic nvme char devices.
Change-Id: I84a489b64bada9335a30f3db185edba3733b7902 Signed-off
test/nvme/xnvme: Add io_uring_cmd
This requires some extra dance since it seems it can work only on top of generic nvme char devices.
Change-Id: I84a489b64bada9335a30f3db185edba3733b7902 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25308 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 4d3e9954 | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Add different io patterns
Minimal set of what's currently supported depending on the io_mechanism.
Change-Id: I18c235f6828ee5e7e99174501da8cefe6413539d Signed-off-by: Michal Berger
test/nvme/xnvme: Add different io patterns
Minimal set of what's currently supported depending on the io_mechanism.
Change-Id: I18c235f6828ee5e7e99174501da8cefe6413539d Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25307 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> 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>
show more ...
|
| d5455995 | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Add simple RPC validation test
Change-Id: I05a336330480dcce21a488cc7e4583841d5d1536 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit
test/nvme/xnvme: Add simple RPC validation test
Change-Id: I05a336330480dcce21a488cc7e4583841d5d1536 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25306 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.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>
show more ...
|
| 69d73d12 | 23-Oct-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/xnvme: Add simple test with SPDK's fio plugin
It mirrors bdevperf setup to some extent, with extra numjobs + conserve_cpu enabled on top. This is mainly to see if slapping that extra arg d
test/nvme/xnvme: Add simple test with SPDK's fio plugin
It mirrors bdevperf setup to some extent, with extra numjobs + conserve_cpu enabled on top. This is mainly to see if slapping that extra arg doesn't break anything.
Change-Id: I60445af635641c41fc779e5c2ce18a00e0130b60 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25305 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Karl Bonde Torp <k.torp@samsung.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 8531656d | 25-Oct-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
test/nvmf: Interrupt test for local pcie nvme device
Change-Id: I62196ca5b84a622c60cbea465fb3cb5c7ef680dc Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/ger
test/nvmf: Interrupt test for local pcie nvme device
Change-Id: I62196ca5b84a622c60cbea465fb3cb5c7ef680dc Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25378 Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 830c9c6a | 16-Sep-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme: Return from get_pool_thread() if sqpool_cpu_thread[@] is not set
Also, call to set_potential_poll_threads() only when proper driver is requested and instead of the cpu id just return the
test/nvme: Return from get_pool_thread() if sqpool_cpu_thread[@] is not set
Also, call to set_potential_poll_threads() only when proper driver is requested and instead of the cpu id just return the entire fio param to clearly indicate what this is used for.
Change-Id: I14c63f51a80139701c181570be241c722c35bd1b Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24920 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| ce25e81f | 14-May-2024 |
Michal Berger <michal.berger@intel.com> |
nvme/perf: Use sqthread_poll_cpu for io_uring workloads
Under newer kernels the way how cpu affinity is applied to poll threads changed, such that they are not bound to all online cpus but rather th
nvme/perf: Use sqthread_poll_cpu for io_uring workloads
Under newer kernels the way how cpu affinity is applied to poll threads changed, such that they are not bound to all online cpus but rather the cpus of the job threads. When using cpus_allowed, this means all the poll threads are bound to that particular mask, unless dedicated cpu is selected via sqthread_poll_cpu.
This behavior shows significant performance drop since the cpu time is now shared across all these threads. To mitigate, and to make sure results, more or less, much the ones from older kernels, define the dedicated cpu for each poll thread created per job.
Change-Id: I7e085729883ade099c5832e766f27cff22b18757 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23090 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 0c82011c | 07-Jun-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme/perf: Use parse_cpu_list() to parse the cpu config
This allows to use different formats while specifying cpus, e.g. with ranges: 0,1-3,6-8, etc.
Change-Id: I7720f64a2ce8bc99242ffadd1f2d88
test/nvme/perf: Use parse_cpu_list() to parse the cpu config
This allows to use different formats while specifying cpus, e.g. with ranges: 0,1-3,6-8, etc.
Change-Id: I7720f64a2ce8bc99242ffadd1f2d88ffbfa2f3a1 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23583 Reviewed-by: Karol Latecki <karol.latecki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 733a8d23 | 22-Aug-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme: Remove hw_hotplug suite
This test suite is prone to intermittent failures due to an overall instability of the Beetle setup which is extremely hard to maintain. Lack of any sensible alter
test/nvme: Remove hw_hotplug suite
This test suite is prone to intermittent failures due to an overall instability of the Beetle setup which is extremely hard to maintain. Lack of any sensible alternatives forces our hand to simply cut it away.
The software (sysfs) variant still remains, so from SPDK's perspective this won't impact actual coverage.
Change-Id: I4b20cd0867de6fb3c3fd1cccdce4a0cf5c0f9034 Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24642 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 186b109d | 20-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoi
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoid confusion with TCP sockets.
Change all of the existing in-tree SPDK_ENV_SOCKET_ID_ANY uses to SPDK_ENV_NUMA_ID_ANY, but keep the old #define around, at least for now. Also change all 'socket_id' parameters to 'numa_id'.
We still have spdk_env_get_socket_id(), we will need to keep this but next patch will add spdk_env_get_numa_id().
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Idc31c29e32b708c24d88f9c6fecaf9a99e34ba1e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24607 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: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
| 57fd99b9 | 28-Jun-2024 |
Jim Harris <jim.harris@samsung.com> |
env: add opts_size to spdk_env_opts
This will help with ABI compatibility as new fields get added to this structure.
User is responsible for setting opts_size. Major version has been bumped, so use
env: add opts_size to spdk_env_opts
This will help with ABI compatibility as new fields get added to this structure.
User is responsible for setting opts_size. Major version has been bumped, so users will need to rebuild against latest code, if they do not set opts_size we will just treat that as if the structure ends right before opts_size. We will also print an ERRLOG to warn user to set opts_size appropriately.
As part of this patch, update all in-tree callers of spdk_env_opts_init() to set the opts_size.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: If2611eccc8b3c43e1dc1654028d000a8a12a544e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23940 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@tzawadzki.com>
show more ...
|
| 34edd9f1 | 10-Jul-2024 |
Kamil Godzwon <kamilx.godzwon@intel.com> |
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24120 Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| 548ee33a | 16-May-2024 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
test/cuse: add more verbose logging to nvme_cuse_app
Related to #3377
Whenever assert failed in verify_devices(), there was absolutely no information which scenario or device was/wasn't detected.
test/cuse: add more verbose logging to nvme_cuse_app
Related to #3377
Whenever assert failed in verify_devices(), there was absolutely no information which scenario or device was/wasn't detected.
Added verbose logging to the verify_devices(), as well as moved asserts to the test scenario. This way it will be obvious which part of the test failed, with which device.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Iffa3c366cbd7ca2370b66cffa8edac3535c5b004 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23174 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| dcc64f04 | 22-May-2024 |
Marek Chomnicki <marek.chomnicki@intel.com> |
test/cuse: check block size before write and read file
The block size was fixed to 512, but the test might fail when the disk block size was set to 4KB and the write and read files aren't the same.
test/cuse: check block size before write and read file
The block size was fixed to 512, but the test might fail when the disk block size was set to 4KB and the write and read files aren't the same.
Change-Id: I2293e79b37870ee573e063500587588cc4f21912 Signed-off-by: Marek Chomnicki <marek.chomnicki@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23291 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
| 7d5421b6 | 28-May-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
test/cuse: active namespaces were tested incorrectly
A number of corrections and improvements in CUSE tests: - spdk_nvme_ctrlr_is_active_ns and spdk_nvme_ctrlr_get_first_active_ns return 0 if numb
test/cuse: active namespaces were tested incorrectly
A number of corrections and improvements in CUSE tests: - spdk_nvme_ctrlr_is_active_ns and spdk_nvme_ctrlr_get_first_active_ns return 0 if number of active namespaces (g_active_num_ns) is 0. In this case we shall not report any active namespaces through these functions. - increased loop count in verify_files() which wil increase wait time for busy systems, for which 100 ms could not be enough. - added more test cases for nvme_cuse_update(), to test shrinking/expanding namespace id range.
Suggested-by: Jim Harris <jim.harris@samsung.com>
Fixes #3377
Change-Id: I8fc729f079745e1f573ab4fd692fc7f5a22ef7bf Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23450 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| f3febe42 | 16-May-2024 |
Michal Berger <michal.berger@intel.com> |
test/nvme: Make sure sw_hotplug works only with selected nvmes
By default, SPDK's hotplug operates on EVERY nvme ctrl it finds. This breaks the tgt_run_hotplug() test since the count of available bd
test/nvme: Make sure sw_hotplug works only with selected nvmes
By default, SPDK's hotplug operates on EVERY nvme ctrl it finds. This breaks the tgt_run_hotplug() test since the count of available bdevs, after ctrls are removed from the bus, doesn't match what we expect to see. Fix this by making sure only selected nvmes are moved to userspace.
Also, remove the unnecessary calls to bdev_nvme_attach_controller().
Also, also, the timing_cmd() is "fixed" to make sure it returns exit status of the command it's reporting the time execution for. It was accidentally masking status of the remove_attach_helper() due to the way it was being called. It's done here since with it being "fixed" separately, the sw_hotplug would simply start failing.
In short, the problem was here:
$ foo=$(timing_cmd bar) <- this executes in a subshell, errexit is not inherited # timing_cmd() executes bar and ignores its exit status, simply # returns its time of execution. Due to that, entire execution # of remove_attach_helper() down the stack is not controlled by # errexit.
The above scenario was organically fixed by 7a8d399098, but since it also exposed issue with the underlying sw_hotplug test it affected the entire per-patch, together with 1826c4dc56 which increased number of sw_hotplug instances.
Next patch in the series brings back the 7a8d399098, but the "fix" for timing_cmd() should remain as a root cause of what was causing false positives in the whole sw_hotplug suite in a first place.
Change-Id: Iaed5b1080c547a86e262a895b5d2ccf10691e7bc Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23170 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| b24df7cf | 09-May-2024 |
Michal Berger <michal.berger@intel.com> |
test: Drop superfluous calls to print_backtrace()
Since we use errtrace, the ERR trap is inherited and preserved in each subshell, cmd substitution, etc. that we execute along the way. This means th
test: Drop superfluous calls to print_backtrace()
Since we use errtrace, the ERR trap is inherited and preserved in each subshell, cmd substitution, etc. that we execute along the way. This means that each failure inside such subshell triggers call to print_backtrace(). Depending on the context, this may not be desired. Consider simple example:
# foo() { return 1; } # [[ $(foo) == no_output_so_fail_me ]]
This assumes that from the test perspective we don't care if foo(), internally, fails, we just look for a specific string it should return. If it doesn't, errexit will be triggered at the [[ level and fail the test. This is fine, but before this happens, extra print_backtrace() call will be made from the $() context.
Changing logic above and we may start spamming these calls:
# foo() { return 1; } # [[ $(foo) -eq 0 ]]
Here failure still triggers the print_backtrace() but logically the [[ test succeeds so we end up with a useless call in the log which may be downright confusing.
Cherry on top is the fact that we don't inherit errexit inside the subshell. So this print_backtrace() call is entirely foobar as it won't do anything at all.
Best case would be to enable inherit_errexit from autotest_common.sh across all the test suites. This, however, will require proper discipline in maintaining the tests as use of subshell environment would have to be more explicit - in other words the ambiguity from the first example (i.e. failure != no output) would not be allowed.
For now, refactor code a bit to get rid of these extra calls, next step would be to test behavior of inherit_errexit.
Change-Id: Ice3f072008162c1713e78a6da99a833919bc716c Signed-off-by: Michal Berger <michal.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23078 Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 4ab55a0c | 09-Apr-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
fdp: do dynamic memory allocation
For the get log pages and ruh status which doesn't have fixed sizes call the respective APIs twice. The first call will only fetch the header to determine the actua
fdp: do dynamic memory allocation
For the get log pages and ruh status which doesn't have fixed sizes call the respective APIs twice. The first call will only fetch the header to determine the actual size for the log, and the second call will fetch the actual log.
Change-Id: I6a5241f176fd4b62a95b0d06c5c6f1659bc2002a Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22717 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| b4d406b7 | 04-Apr-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
nvme: add raw field for controller attributes
Add raw field for controller attributes and change it to union from structure. Update the respective location of code where its being used.
Change-Id:
nvme: add raw field for controller attributes
Add raw field for controller attributes and change it to union from structure. Update the respective location of code where its being used.
Change-Id: I56278daba9ab947bc5f49271d8107e097abb3576 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22788 Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|