Commit Graph

14274 Commits

Author SHA1 Message Date
Krzysztof Karas
12f4a2c62d spdk_top: redraw bottom menu after closing a window
Fix for merged patch.
Redraws bottom menu after closing a pop-up window
to avoid leaving black space where windows was drawn.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I3ab3d7ea1a2729d3556539cad5d28aa758617d67
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6067
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-25 13:58:50 +00:00
Rui Chang
9a66df8102 lib/event: Fix no error info problem when reading spdk_tgt json file
When start spdk_tgt with json config file, if the file cannot be read,
there is no error message indicating what is wrong.

Change-Id: I4e0cbad5fb7a23b99f05ebdce7d0801eebbd63f7
Signed-off-by: Rui Chang <rui.chang@arm.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6042
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-25 12:52:58 +00:00
Michael Bang
75440d0537 doc: correct explanation of NVMe SQ command submission
Correct explanation of NVMe SQ command submission

Change-Id: Ibdb3d13369c916708269c18fc04d5680044fce8e
Signed-off-by: Michael Bang <mi.bang@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6027
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: sunshihao <sunshihao@huawei.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-25 12:52:08 +00:00
Tomasz Zawadzki
43c2070171 CHANGELOG: add missing entries for 21.01
Added missing entries from browsing headers and RPC changes.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ib416c819004af49b626b073eb07ff22b4818f382
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6051
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-25 08:15:51 +00:00
Ziye Yang
39387c4757 lib/nbd: Add the abort support
We need add the abort support if the nbd state is
NBD_DISK_STATE_SOFTDISC.

Change-Id: I137b71d8f68005b78b9065a16056dbab71d33acd
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6038
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
2021-01-25 08:14:49 +00:00
Changpeng Liu
fda0424e71 nvmf/vfio_user: update libvfio-user submodule
For the purpose to fix issue #1754, APIs are changed, so
also apply the new APIs for SPDK NVMf vfio-user transport.

Change-Id: Ic41ba78a8efca83d7d63c321a27b1c63bfaf22be
Signed-off-by: John Levon <john.levon@nutanix.com>
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6059
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-25 08:08:44 +00:00
Tomasz Zawadzki
72eed604b4 lib/event: do not spawn a thread for each reactor
Those spdk threads were neither used or tracked in event framework.

Needed to edit hardcoded cpumask value in spdkcli test to accept any string.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ieffea1bdf467f50ec0bd3af4b17a1d259fd876b4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5817
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2021-01-25 04:55:54 +00:00
Rui Chang
229a67ad6a configure: fix 'break' error in configure file
Break is not supported in if statement which cause error messages

Signed-off-by: Rui Chang <rui.chang@arm.com>
Change-Id: I671510ac936e2ac43a6570c9c3d0a6458e28f0d8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6041
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Nick Connolly <nick.connolly@mayadata.io>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2021-01-25 04:42:04 +00:00
Tomasz Zawadzki
f1f51f2b49 CHANGELOG: fix formatting and typos for SPDK 21.01
Fixed formatting for SPDK 21.01 changelog.
For the most part proper display of function/struct references.

While here some typos were corrected too.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ie6f77755108a26d82e8a9e9b4fa8a507af0d41d8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6050
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:33:40 +00:00
Tomasz Zawadzki
bc76a832ed CHANGELOG: sorted categories for SPDK 21.01
Alphabetically sorted entries for SPDK 21.01.
No changes in the entries themselves.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I290ab3a0a2e5bfc9312347a7e1a3101fb67ef881
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6049
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:33:40 +00:00
Krzysztof Karas
87ecafadef scheduler: add scheduler period to framework_set_scheduler
Adds scheduler period in Parameters and Example sections of framework_set_scheduler.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I05dbe20fb73aefe4dc8fa60f659f63d5a4d88db6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6043
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:33:13 +00:00
Krzysztof Karas
abf52d7d7f spdk_top: add rpc for scheduler and governor
Added rpc to get name and period of currently set spdk scheduler
and name of currently set spdk governor.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I5562a81a7f9e4879bd48a765c9467f70b43f73ab
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5917
Community-CI: Broadcom CI
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:33:13 +00:00
Ben Walker
8f7d9ec2f4 env/dpdk: Use the DPDK device count for IOMMU mapping
The VFIO container must have at least one device present to
be able to perform DMA mapping operations. Instead of using
the count of SPDK devices, use the count of DPDK devices. This
allows for the user of SPDK's memory management APIs even if
only a DPDK device is attached.

Change-Id: Ie7e21f09bdf1cdf1a85424c35212f64f24ae4e26
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3874
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-22 18:32:53 +00:00
Karol Latecki
22e240eb87 scripts/nvmf_perf: do not use "shell" for python subprocess
Using shell=True was unnecessary, as it spawned additional
shell process for any subprocess with this option set.
We don't need that in this script and it's generally
discouraged.
Also removing check=True from some calls as don't have
these subprocess calls in try/excepy anyways.

Change-Id: Ibb9b5d71119c9dd877209ea77b8351f9b610cade
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6046
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:32:19 +00:00
Karol Latecki
abe273b8d1 scripts/nvmf_perf: unify PCM options into single setting
Instead enabling each measurement (cpu/power/memory) just
use a single flag and enable them all at once.

Change-Id: I8a639b697285aa741f28b5ddec11ce70c34fc760
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5980
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:32:19 +00:00
Karol Latecki
90761053ef scripts/nvmf_perf: stop pcm-memory using sigterm
Use terminate() instead of kill() to exit more gracefully.
Using kill() resulted in (sometimes) output not being saved.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I3ff1dec8cb0804f6e0674c5ed61bbe4ec9ea70ef
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6045
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:32:19 +00:00
Karol Latecki
79199d4164 scripts/nvmf_perf: create results dir early
"measure_*" threads in script use the same results dir
as the results parsing function. To avoid race try to
create results destination directory early.

Change-Id: Ic391a7c2fb3decff64f1fdf51782abb940706d38
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6044
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:32:19 +00:00
Krzysztof Karas
0aced70043 spdk_top: add menu to core details window for displaying thread details
Adds menu to core details pop-up window to allow selecting threads running on core.
Pressing ENTER on selected thread shows pop-up window with thread details.
Added function to display thread details in pop-up window to avoid code duplication.
Function is called when ENTER is pressed on a selected thread in THREADS tab and
inside cores pop-up window.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I62a6de15c4bb4b58da0a7436d74cd20e0544a2ae
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5548
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
bd3c084fc7 spdk_top: add a setting option to display total counters vs per refresh interval counters
Adds option to switch between total counters and interval counters by pressing 't' key.
Total counters show status since the start of application while
interval counters show status since last refresh.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I9b00c85a7c6609977723f632dda9111cf9a1bfc2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5507
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
1417aa38e4 spdk_top: add idle/busy indicator for each poller
Added idle/busy indicators for each poller.
Indicators show in POLLERS tab and poller details pop-up window.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: Iffd47620933e8b8376c98a01724764cef086d194
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5479
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>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
2021-01-22 18:31:52 +00:00
Maciej Szwed
a43db13a27 spdk_top: Extended the bottom menu.
Changed margins for each item displayed in the bottom menu
to allow another item to fit.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I4a1de8a7f7db8e219e586dee656348b442a49aee
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5413
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>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
313f364aa3 spdk_top: fill cores pop-up window with data.
Populates previously implemented core details window with data.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: If1a44a1990b1bc7190254a711c13a6e45a4770ab
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5412
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
b05d03d8f3 spdk_top: add cores details window.
Adds empty core details pop-up window for selected core from CORES tab.
Window appears upon pressing ENTER key and closes on ENTER and ESC keys.
Pop-up will be populated with data in the future patch.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I2d1435e718d0780b8d15aa8243d09f0026a32149
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5411
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>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
948d7e0049 spdk_top: fill pollers pop-up window with data.
Fills previously implemented poller pop-up window with data.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I61b94c9405fd96c4869b95bfa19feef7610d812e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5410
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
dcec3053ec spkd_top: add pollers details window.
Adds empty pop-up window for selected poller.
Windows will be populated with data in the future patches.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: If5485211248290584a8560a0f248efc5713315c7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5409
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>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
2021-01-22 18:31:52 +00:00
Krzysztof Karas
f79e0fc945 spdk_top: refactor refresh_pollers_tab function
Refactors refresh_pollers_tab function to avoid future code duplication,
while displaying pollers details.

Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I4432a8044a718fc4be0d71ca5b4c59323d90e6e9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6001
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Maciej Szwed
c3ccff9c30 spdk_top: Add thread details when enter is pressed in threads tab
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: I188b3d90fa95f01adf6a2f41b86b0949a6114eae

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1717
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:52 +00:00
Maciej Szwed
89f6b928fa spdk_top: Add option to select a row
This will be extended to display new window
in next patches.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Change-Id: Ia1884036bb444cf9e407e43f2a4c2bdd9c2aa4fc
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1715
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>
2021-01-22 18:31:52 +00:00
Michal Berger
766dfaac81 test/scheduler: Add load balancing tests
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: I326260703d78a016aea5b64dae1b03ffacc1c461
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5798
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>
2021-01-22 18:31:25 +00:00
Michal Berger
c313f1b2b5 test/scheduler: Add test for verifying idle state
This also introduces scheduler tests in the autotest pool.

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: I892a2374e21dab0e349c655dcafaa4cc2e45fdc1
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5741
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:25 +00:00
Michal Berger
da9946a7c0 test/scheduler: Add wrapper for setting up the environment
Setup boils down to selecting CPUs for exclusive use by SPDK
app(s).

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: Ie3af44d16f3f220aeca97b2d65a99297016884dc
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5739
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:25 +00:00
Michal Berger
c1318c5b82 test/scheduler: Add .sh common source for rscheduler tests
This main goal of this "library" is to provide the following:

  - Handling view of the cpu|numa topology as seen by the kernel
  - Mapping cpufreq subsystem to cross-reference it with how
    DPDK's librte_power governor behaves.

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: I0fca41eefeea3949102e7546c227e0d36811a269
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5738
Community-CI: Broadcom CI
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:25 +00:00
Michal Berger
73884e62ce test/scheduler: Add simple tool for utilizing msr driver
This tool simply returns contents of EAX|ECX registers for a specific
MSR. Targeted use is to compare DPDK's governor results while working
under intel_pstate driver.

Change-Id: I40b3f3601d41e45ba65c96b99ebd1b6949b5af20
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5737
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:25 +00:00
Tomasz Zawadzki
453b15d62d test/scheduler: application to test behaviour of schedulers
This is an application designed to provide custom RPC
interface for testing scheduler and governor implementations.

Based on those RPCs scenarios later can be implemented to verify
functionality. Tests added here verify just the app itself.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I74b81234b95d815864cf8264705d728e3a7fe309
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5763
Community-CI: Broadcom CI
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 18:31:25 +00:00
Maciej Szwed
bfca56ffc9 scheduler: Track threads count per core during rebalancing
This will be helpful in upcoming patches for changing
interrupt mode (when reactor have no threads).

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I4902d0bd26f27db2b98dc4ca4fd4df934f59d9a3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5450
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:25 +00:00
Maciej Szwed
ad15f44116 scheduler: Don't use main core for new thread if it is too busy
We don't want to make main core 100% busy, so don't
move thread to it if thread busy time is higher than
main core idle time.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: Ib521ac0d8959ec8062322ff7b2ad587d85ccada5
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5638
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:25 +00:00
Maciej Szwed
ce23de932d scheduler: Change main core frequency dynamically
Use DPDK based governor to change first core frequency
in dynamic scheduler. Core frequencies are adjusted
based on relative usages.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: Ibeb9ca59fd67df27cfb0bfe752e66e5eef41b126
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5438
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:25 +00:00
Maciej Szwed
6ade44c25f event: Implement new scheduler
This scheduler will group idle threads on first available
core and balance busy threads on other cores.

Change-Id: Ia0425c767dc3da2a66a9d82a20a0012fac83163c
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3901
Community-CI: Broadcom CI
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:25 +00:00
Maciej Szwed
80a13be9f5 event: Save thread stats to last_stats field in spdk_lw_thread structure
This field will be used in upcoming patches
by scheduler to keep a history of threads
statistics. Base on those scheduler will
be able to calculate how busy a thread is.

Also we have to save the value of this field
while rescheduling thread.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: Iffbd1f946e1d159ec7277a39bc30161e71722456
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5972
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2021-01-22 18:31:25 +00:00
Tomasz Zawadzki
aa22321aca configure: remove --with-igb-uio-driver option
DPDK 20.11 moved the kernel modules to separate
dpdk-kmod repository. It has to be built separate
from DPDK.

If needed for testing vm_setup.sh script now contains option
to build this driver.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I98a5eb956eb0cc60ec402d88fcdbd66d4854f19a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6033
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:47:48 +00:00
Karol Latecki
1963b478f7 test/nvmf: add Intel E810 RDMA nic's detection
Check if E810 series cards are installed in system.
No need to check for specific model as all are RDMA
capable. See: https://ark.intel.com/content/www/us/
en/ark/products/series/184846/intel-ethernet-network
-adapter-e810-series.html

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: If4c11ee5b65ca0f545100581782fa4263a92921d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5943
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI
2021-01-22 08:33:05 +00:00
Karol Latecki
45866e50c3 test/nvmf: try to initialize only available RDMA NICs
Instead of rushing and probing all drivers for all NICs,
first try to check which RDMA drivers are already loaded.
Try only to use these NICs which drivers are already
available. This makes it easier to select which NIC
vendor will be used in test, as not all NICs will be
listed under /sys/class/infiniband (even if physically
present in system).

If for some reason a preloaded driver is detected, but
no physical NIC is seen in lspci - fall back to "old way"
and try to all NICs known to us.

Also includes code change to following if block, just
for style consistency in function.

Change-Id: Idc5756b5d4927b0ff11b5a37ed3729995f5c8f8a
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5948
Community-CI: Broadcom CI
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:33:05 +00:00
Karol Latecki
40597c9b95 test/nvmf: fix driver list for Mellanox ConnectX-4
CeonnectX-4 and X-5 share the same set of drivers.
mlx4_* drivers were mistakenly added for ConnectX-4
while actually they're used by ConnectX-3.
https://community.mellanox.com/s/article/mellanox-linux
-driver-modules-relationship--mlnx-ofed-x

Change-Id: I03de970fad6497c98a6873a25a5df66a0de8312c
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5947
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:33:05 +00:00
Changpeng Liu
da5c9de277 nvme: add NO_SGL_FOR_DSM quirk for Intel P55XX SSDs
Intel P55XX SSDs can support SGL feature but can't use Dataset Management
command with SGL format, so add a quirk here for now, if the limitation was
fixed in future, we can remvoe this.  Also SPDK doesn't privoide scatter buffer
API for DSM, so using PRP with DSM is totally fine.

Change-Id: Ibe92f4deb5b8bc2077115f5b7244bc17be4f3b23
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5858
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@mellanox.com>
2021-01-22 08:16:53 +00:00
yidong0635
2d3f8b7cb2 bdev_malloc_rpc: Remove unnecessary code.
Remove unnecessary codes of free_rpc_delete_malloc.

Signed-off-by: yidong0635 <dongx.yi@intel.com>
Change-Id: Ieb83e2df7f4e0cd7c0eee0d2629e2116c87c64c3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6017
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-22 08:16:17 +00:00
yidong0635
73487b15d8 nvme/nvme_tcp: Remove unnecessary returns.
No need these returns at the end of void functions.
So remove them.

Signed-off-by: yidong0635 <dongx.yi@intel.com>
Change-Id: I8889745f3ef82af513d03259a77a33c1f4f536cb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6015
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-22 08:16:17 +00:00
Niklas Cassel
aa6767fb14 nvme: add support for ZNS zone append command
The Zone Append command is an optional command in the Zoned Namespace
Command Set.

Zone Append differs from a regular write, in that the command is not
given an exact LBA of where to write the data.

Instead the user has to set the zslba field to the start of a zone,
and the data will be appended to that zone.

The actual LBA where the data was stored is returned in the
spdk_nvme_cpl, where Dword0 contains 31:00 of the ALBA field,
and Dword1 contains bits 63:32 of the ALBA field.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: Iabae1b3456bfbb62c07b63d79afe9a14e460fe83
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6013
Community-CI: Broadcom CI
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:15:55 +00:00
Niklas Cassel
c078941ca1 nvme: create _nvme_get_host_buffer_sector_size helper function
Create a _nvme_get_host_buffer_sector_size helper function,
to avoid the same code being duplicated in several functions.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: I8c14683c683a44e03c97eefa186833831f754bcc
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6035
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:15:55 +00:00
Niklas Cassel
ffd18d43e3 nvme/spec: add zone append specific PIREMAP define
PIREMAP is defined as bit 25 in Command Dword12 for the zone append
command.
Bit 25 in Command Dword12 is still reserved for regular reads/writes.

PIREMAP determines the contents of the reference tag written to the
media.

If cleared to 0, then the controller writes the reference tag
per the NVMe Base specification without modification.
If set to 1, Reference Tag[0] = ILBRT + (ALBA - ZSLBA).
Media Reference Tag[n+1] = Media Reference Tag[n] + 1.

As defined in Zoned Namespaces Command Set Specification,
section 4.5.1.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: I984ca00146baf6af61208e3598c833f1ec4708bb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6012
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2021-01-22 08:15:55 +00:00
Niklas Cassel
628f9adb39 nvme/spec: completion queue entry Dword1 is now command specific
The ratified NVME TP4056 changes the completion queue entry Dword1
from reserved to command specific.

Update spdk_nvme_cpl to reflect this.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: I6a21eb1355f6ca69770ea7eb4ccc8fe1c5a0d737
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6011
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: sunshihao <sunshihao@huawei.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2021-01-22 08:15:55 +00:00