Spdk/test
Tomasz Zawadzki 127fc0d0c3 scheduler_dynamic: consider any core for the thread
Previously core load was only considered for main lcore.
Other cores were used based on cpumask only.

Once an active thread was placed on core it remained there
until idle. If _get_next_target_core() looped around,
the core might receive another active thread.

This patch makes the core load matter for placement of any thread.
As of this patch if no core can fit a thread it will remain there.
Later in the series least busy core will be used to balance
threads when every core is already busy.

Modified the functional test that depended on always selecting
consecutive core, even if 'current' one fit the bill.
Later in the series the round robin logic for core selection
is removed all together.

Fixed typo in test while here.

Note: _can_core_fit_thread() intentionally does not check
core->interrupt_mode and uses tsc. That flag is only updated
at the end of balancing right now. Meanwhile tsc is updated
one first thread moved to the core, so it is no longer
considered in interrupt mode.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I95f58c94e3f5ae8a468723d1dd6e53b0e417dcc3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8069
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2021-06-28 16:18:19 +00:00
..
accel_engine accel_engine test: Add the test case for accel_engine. 2021-01-21 15:49:40 +00:00
app lib/trace: don't pass zero as a non-argument 2021-06-28 16:17:35 +00:00
bdev test: fix nbd test typo and add check 2021-06-23 18:07:46 +00:00
blobfs event: Shift subsystem initialization code to a separate library 2021-05-24 10:12:50 +00:00
blobstore scheduler: Change main core frequency dynamically 2021-01-22 18:31:25 +00:00
common autotest: Don't override default amount of hugepages on Linux to 8GB 2021-06-24 17:33:10 +00:00
compress test/nvmf: use recommended nvmf_create_subsystem rpc 2021-05-20 15:00:22 +00:00
config_converter scripts/config_converter: skip sections not present in legacy config 2021-01-15 08:32:10 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd autotest: Run dd tests under SPDK_TEST_URING 2021-05-20 15:15:33 +00:00
dpdk_memory_utility build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
env Revert "env: Register external memory with DPDK" 2021-04-15 20:22:26 +00:00
event init: Declare a formal public API 2021-05-26 09:13:34 +00:00
external_code lib/bdev: Added iov to spdk_bdev_zcopy_start 2021-06-04 20:10:07 +00:00
ftl scripts: replace PCI_WHITELIST with PCI_ALLOWED 2020-12-03 09:41:07 +00:00
fuzz test/iscsi: remove VPP tests 2020-08-17 08:19:46 +00:00
interrupt test: add functional test for reactor_set_intr 2021-04-29 07:10:26 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt rbd/rpc: Add a rpc call to get the info of the clusters. 2021-05-26 09:21:48 +00:00
json_config nvmf: Add nvmf_set_crdt RPC 2021-06-04 20:02:42 +00:00
lvol test/lvol: rename lvol test script 2020-10-20 08:54:53 +00:00
make build: clarify Makefile for check_so_deps failures 2021-06-25 16:45:17 +00:00
nvme test/nvme/aer: remove duplicated changed NS list log 2021-06-11 07:18:06 +00:00
nvmf test/vfio-user: use variables to make each line more shorter 2021-06-09 07:21:31 +00:00
ocf test: add bdev_wait_for_examine to static JSON configs 2021-05-13 10:07:07 +00:00
openstack test/openstack: Clean up the test 2021-05-24 09:58:17 +00:00
pmem build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
rpc_client build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler scheduler_dynamic: consider any core for the thread 2021-06-28 16:18:19 +00:00
setup autotest: Don't override default amount of hugepages on Linux to 8GB 2021-06-24 17:33:10 +00:00
spdkcli autotest: Don't override default amount of hugepages on Linux to 8GB 2021-06-24 17:33:10 +00:00
unit ut/event: fix cpumask resetting for scheduler tests 2021-06-28 16:18:19 +00:00
vhost test/vhost: Commonize some of the environment 2021-06-04 22:52:21 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile build: add option to disable building unit tests 2020-03-10 09:12:21 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00