7cc16c96 | 20-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdevperf: g_main_thread calls bdev_open() instead of job->thread
The following patches will enable no_metadata option to each bdev and use new APIs to get metadata configuration.
Hence, it will be
bdevperf: g_main_thread calls bdev_open() instead of job->thread
The following patches will enable no_metadata option to each bdev and use new APIs to get metadata configuration.
Hence, it will be necessary to open bdev before getting metadata configuration.
As a preparation, move bdev open and close operations from job->thread to g_main_thread. set timeout should be called on the thread which called bdev open. Hence, move set timeout operation too. Furthermore, event notification should be redirected from g_main_thread to job->thread.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I3623e7c0ccc314932f79b78243be9ede0b8927b3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25143 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: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
65fa5aff | 25-Jun-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
bdevperf: send RPC error resp. if no jobs started
When bdevperf receives 'perform_tests' RPC call, it prints 'Running I/O for x seconds' message on the console and is trying to start I/O jobs. The i
bdevperf: send RPC error resp. if no jobs started
When bdevperf receives 'perform_tests' RPC call, it prints 'Running I/O for x seconds' message on the console and is trying to start I/O jobs. The issue here is that the message is printed even if there are no jobs defined (e.g. no bdevs created) so nothing really happens. In such case no RPC response was sent, and the RPC call initiating tests just timeouts. This is fixed now and bdevperf will print on the console 'Running I/O for x seconds' message only if there are any jobs started. If no jobs are defined, the message is not printed, and RPC error response is generated: Error code: SPDK_JSONRPC_ERROR_INVALID_PARAMS (-32602) Error message: "No jobs defined or bdevs created"
Change-Id: Ibac7a961cd79713ff2bb56a2b5d56c80fb6cc98f Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23902 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
3a141b72 | 11-Sep-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
bdevperf: send test results in RPC response
When bdevperf test is triggered with 'bdevperf.py perform_tests' RPC command, the tool starts test jobs and when they are finished, the test results are p
bdevperf: send test results in RPC response
When bdevperf test is triggered with 'bdevperf.py perform_tests' RPC command, the tool starts test jobs and when they are finished, the test results are printed on the console. This patch adds reporting of the test results in RPC response. The response consists of two sections, an object indicating the number of cores on which the tests were run, and a table with test results. When a bdevperf is started on 8 cores with a command: 'sudo ./build/examples/bdevperf -m 0xFF -z' an example response to the command starting tests: 'sudo PYTHONPATH=python examples/bdev/bdevperf/bdevperf.py \ perform_tests -q 16 -o 4096 -t 5 -w write' would be: { "results": [ { "job": "Malloc0", "core_mask": "0x1", "workload": "write", "status": "finished", "queue_depth": 16, "io_size": 4096, "runtime": 5.000048, "iops": 1200455.675625514, "mibps": 4689.279982912164, "io_failed": 0, "io_timeout": 0, "avg_latency_us": 13.252784244696382, "min_latency_us": 11.130434782608695, "max_latency_us": 222.6086956521739 }, { "job": "Malloc1", "core_mask": "0x2", "workload": "write", "status": "finished", "queue_depth": 16, "io_size": 4096, "runtime": 5.000024, "iops": 1216432.5611237066, "mibps": 4751.689691889479, "io_failed": 0, "io_timeout": 0, "avg_latency_us": 13.082916284986958, "min_latency_us": 5.7043478260869565, "max_latency_us": 90.82434782608695 } ], "core_count": 2 }
Majority of the information provided in RPC response is the same as information printed on the console. If the test finishes successfully, it is indicated by: "status": "finished" If the test fails, it is indicated by: "status": "failed" If the bdevperf was terminated (SIGINT, SIGTERM sent to the process or by Ctrl-C in the console window), it will be indicated by: "status": "terminated" The "runtime" field carries information about test execution time in seconds, latencies are presented in microseconds. If the test fails, "runtime" indicates the time when the test failed. "core_count" provides number of cores that were actually used during the test.
Change-Id: I327db7a57bdc1033b6803813d54861a6c970a718 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23881 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com>
show more ...
|
058f4cfe | 16-Apr-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdevperf: Set dif_check_flags_exclude_mask by negating job->dif_check_flags
By this patch, we can control DIF check per I/O but the behavior is backward compatible because we just negate job->dif_ch
bdevperf: Set dif_check_flags_exclude_mask by negating job->dif_check_flags
By this patch, we can control DIF check per I/O but the behavior is backward compatible because we just negate job->dif_check_flags and set its result to dif_check_flags_exclude_mask for each I/O.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ia3037bc4d43b566f0ccc46588d430edcb5f38626 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22823 Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
b2cfb6b4 | 22-Mar-2024 |
Jacek Kalwas <jacek.kalwas@intel.com> |
bdevperf: fix non expected reads for verify flow
SPDK_BDEV_IO_TYPE_READ can be set within bdevperf_submit_single based on rw_percentage. However, for verify flow read shall be done on write completi
bdevperf: fix non expected reads for verify flow
SPDK_BDEV_IO_TYPE_READ can be set within bdevperf_submit_single based on rw_percentage. However, for verify flow read shall be done on write completion callback only.
Fix by change rw_percentage to 0. It will prevent setting SPDK_BDEV_IO_TYPE_READ in bdevperf_submit_single by conditions already existing there.
Change-Id: Ica135e8aedbca4693c546a3bf8498dd4b3ce11ef Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22473 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> Community-CI: Mellanox Build Bot
show more ...
|