a5999f637a
Before this patch _find_optimal_core() returned 1) any core that could fit the thread 2) if current core was over the limit, the least busy core 3) current core if no better candidate was found Combined with _get_next_target_core() round-robining the first core to consider, resulted in threads being unnecessarily spread over the cores. This patch only places threads on lower lcore id, or when current core is over limit then any core that can fit it. Next patch will remove round-robin logic to always start with lowest lcore id. Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I54e373d3ca02a5633607d22978305baa1142f8bd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8112 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> |
||
---|---|---|
.. | ||
app_rpc.c | ||
app.c | ||
dpdk_governor.c | ||
gscheduler.c | ||
log_rpc.c | ||
Makefile | ||
reactor.c | ||
scheduler_dynamic.c | ||
scheduler_static.c | ||
spdk_event.map |