Spdk/module/scheduler
Jim Harris 0ba8d51052 scheduler/dynamic: don't put dst core over limit when moving thread
We have _is_core_over_limit() which determines if a core is
currently over its busy:total tsc ratio.  We use this to determine
if we need to move threads off of a core that is too busy.

But when we pick a core to move a thread *to* we were allowing the
dst core to fill to 100%, rather than the SCHEDULER_CORE_LIMIT.

This patch fixes that, which has the nice effect of keeping
thread-to-core assignments much more stable when running
I/O workloads.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id98b08803939d2a25104082e6436bb8d4727d7c2

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9578
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-06-30 13:32:25 -04:00
..
dpdk_governor scheduler: create public API and subsystem for scheduler/governor 2021-09-07 07:33:03 +00:00
dynamic scheduler/dynamic: don't put dst core over limit when moving thread 2022-06-30 13:32:25 -04:00
gscheduler scheduler: create public API and subsystem for scheduler/governor 2021-09-07 07:33:03 +00:00
Makefile scheduler_dynamic: change directory name to just "dynamic" 2022-06-30 13:32:25 -04:00