test/nvmf: try to make reactors more busy in interrupt testThis test verifies that reactors are idle when there's no IO and thatthey're idle when handling IO. The latter check can be a problem,b
test/nvmf: try to make reactors more busy in interrupt testThis test verifies that reactors are idle when there's no IO and thatthey're idle when handling IO. The latter check can be a problem,because the business of a core when handling IOs varies and can neverreach the threshold that we use to consider a core to be busy.To make that second check more reliable, let's do a couple of things:increase queue depth to 256 and decrease busy threshold to 30. Also,while here, use double parenthesis for arithmetic comparisons.Fixes: #3520Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>Change-Id: I2937b46471d523bb496e7b3878f43c541047adafReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24827Tested-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 ...
test: make reactor_is_busy_or_idle() less restrictiveExtensive interrupt mode testing shows that reactor CPU load as reportedby the top in reactor_is_busy_or_idle during traffic fluctuates between
test: make reactor_is_busy_or_idle() less restrictiveExtensive interrupt mode testing shows that reactor CPU load as reportedby the top in reactor_is_busy_or_idle during traffic fluctuates between50 and 80%, 66.7% is reported quite often. With 10s time slot it happensthat all readings are 66.7% or less.To avoid false positives in CI and not make the test any longer than italready is lower the arbitrary chosen value o 70% to 65% as anindication that the CPU is indeed busy.Change-Id: I4946ab2fc0b0704ef6e3d6905cfcae6331e8ec9cSigned-off-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24596Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>Reviewed-by: Jim Harris <jim.harris@samsung.com>
test: split interrupt_common.shThis allows for reuse of truly common part of this file in upcomingcommit that introduce NVMe-of TCP interrupt mode support.Change-Id: If28935aa21d71a9e97d89517206
test: split interrupt_common.shThis allows for reuse of truly common part of this file in upcomingcommit that introduce NVMe-of TCP interrupt mode support.Change-Id: If28935aa21d71a9e97d89517206c0a4f12dc21ebSigned-off-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22835Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Reviewed-by: Boris Glimcher <Boris.Glimcher@emc.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Jim Harris <jim.harris@samsung.com>
test: wait_for_examine and delay in reap_unregistered_poller.shWe need to give the thread library some time to reapthe unregistered poller - it is a bit of a delayedprocess. We have to wait for
test: wait_for_examine and delay in reap_unregistered_poller.shWe need to give the thread library some time to reapthe unregistered poller - it is a bit of a delayedprocess. We have to wait for examine to finish onthe aio bdev, then the poll group gets destroyed andthe pollers unregistered. This marks the pollers asUNREGISTERED, but they aren't actually reaped untilnext time the thread is polled.Fixes issue #2980.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: I1e32c50ea9b28ea2d5560ddc9b2f68fa81e708d9Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17575Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Mike Gerdts <mgerdts@nvidia.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Add SPDX header to various filesThey were missed by the initial set of patches which introduced thisheader as a mandatory one across different types of files.Signed-off-by: Michal Berger <michal
Add SPDX header to various filesThey were missed by the initial set of patches which introduced thisheader as a mandatory one across different types of files.Signed-off-by: Michal Berger <michal.berger@intel.com>Change-Id: I3f9b37d41298c843e1648e72fe8593768ccd37e0Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15423Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Community-CI: Mellanox Build BotReviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>
add (c) and SPDX header to bash files as neededper Intel policy to include file commit date using git cmdbelow. The policy does not apply to non-Intel (C) notices.git log --follow -C90% --forma
add (c) and SPDX header to bash files as neededper Intel policy to include file commit date using git cmdbelow. The policy does not apply to non-Intel (C) notices.git log --follow -C90% --format=%ad --date default <file> | tail -1and then pull just the year from the result.Intel copyrights were not added to files where Intel either hadno contribution ot the contribution lacked substance (ie licenseheader updates, formatting changes, etc)For intel copyrights added, --follow and -C95% were used.Signed-off-by: paul luse <paul.e.luse@intel.com>Change-Id: I2ef86976095b88a9bf5b1003e59f3943cd6bbe4cReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15209Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Community-CI: Mellanox Build BotReviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>
SC2048: Use "${array[@]}" (with quotes) to prevent whitespace problems.Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>Change-Id: I64473e4904c82fa06d41e8a02d56070ebf966adcReview
SC2048: Use "${array[@]}" (with quotes) to prevent whitespace problems.Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>Change-Id: I64473e4904c82fa06d41e8a02d56070ebf966adcReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15559Tested-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: Michal Berger <michal.berger@intel.com>
scripts: move python modules to python directoryUp until now, importing an SPDK RPC python module was just a matter of`import rpc`. It's fine until there's another module called `rpc`installed o
scripts: move python modules to python directoryUp until now, importing an SPDK RPC python module was just a matter of`import rpc`. It's fine until there's another module called `rpc`installed on the system, in which case it's impossible to import both ofthem. Therefore, to avoid this problem, all of the modules were movedto a separate directory under the "spdk" namespace.The decision to move to a location under a separate directory wasmotivated by the fact that a directory called scripts/spdk would lookpretty confusing. Moreover, it should make it also easier to packagethese scripts as a python package.Other than moving the packages, all of the imports were updated toreflect these changes. Files under python now use relative imports,while those under scripts/ use the "spdk" namespace and have theirPYTHONPATH extended with python directory.Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>Change-Id: Ib43dee73921d590a551dd83885e22870e72451cfReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9692Reviewed-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>Community-CI: Mellanox Build BotTested-by: SPDK CI Jenkins <sys_sgci@intel.com>
spelling: testPart of #2256* achieve* additionally* against* aliases* already* another* arguments* between* capabilities* comparison* compatibility* configuration* continuing* contro
spelling: testPart of #2256* achieve* additionally* against* aliases* already* another* arguments* between* capabilities* comparison* compatibility* configuration* continuing* controlq* cpumask* default* depends* dereferenced* discussed* dissect* driver* environment* everything* excluded* existing* expectation* failed* fails* following* functions* hugepages* identifiers* implicitly* in_capsule* increment* initialization* initiator* integrity* iteration* latencies* libraries* management* namespace* negotiated* negotiation* nonexistent* number* occur* occurred* occurring* offsetting* operations* outstanding* overwhelmed* parameter* parameters* partition* preempts* provisioned* responded* segment* skipped* struct* subsystem* success* successfully* sufficiently* this* threshold* transfer* transferred* unchanged* unexpected* unregistered* useless* utility* value* variable* workloadChange-Id: I21ca7dab4ef575b5767e50aaeabc34314ab13396Signed-off-by: Josh Soref <jsoref@gmail.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10409Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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>
test/interrupt: Fix syntaxreturn was not used in proper context. Let the errexit do the job tosignal a failure.Signed-off-by: Michal Berger <michalx.berger@intel.com>Change-Id: I731545c91385828
test/interrupt: Fix syntaxreturn was not used in proper context. Let the errexit do the job tosignal a failure.Signed-off-by: Michal Berger <michalx.berger@intel.com>Change-Id: I731545c913858286009168041030b4b362cebc32Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9987Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>
thread: reap unreg pollers in intrWhen intr mode is enabled, it will be common thatpoller is unregistered during interrupt processing.Since poller unregister is a delayed operation,mark it in sp
thread: reap unreg pollers in intrWhen intr mode is enabled, it will be common thatpoller is unregistered during interrupt processing.Since poller unregister is a delayed operation,mark it in spdk_thread object, and reap unregisteredpollers out of poller execution.Fixes #2143Change-Id: Ieb61fc7685f85af5c15e833dd1dd56f8c97a3b12Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5770Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
test/intr: correct without-thread situationChange-Id: I31eef70855f9968371e1f9f5ef278de66a83d552Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spd
test/intr: correct without-thread situationChange-Id: I31eef70855f9968371e1f9f5ef278de66a83d552Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8887Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>Reviewed-by: Ziye Yang <ziye.yang@intel.com>Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
test: add functional test for reactor_set_intrtest script 'test/interrupt/reactor_set_intr.sh' willdo various reactor set intr operations on interrupt_tgtwithout spdk_thread and with spdk_thread.
test: add functional test for reactor_set_intrtest script 'test/interrupt/reactor_set_intr.sh' willdo various reactor set intr operations on interrupt_tgtwithout spdk_thread and with spdk_thread.Change-Id: Ie5af1dc68b0272c34a91e8a66b78088c3794907cSigned-off-by: Liu Xiaodong <xiaodong.liu@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7348Community-CI: Mellanox Build BotTested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>