+1
−1
Loading
Limit the thread scheduler to put spdk_threads on lcores < last_lcore instead of lcores < lcore_count, which was probably the original intent. When the cpumask was not a contiguous cpu range, the thread scheduler failed to schedule any spdk_threads on the last cores. There was one hardcoded thread created for each reactor, but the scheduler could squash some of those into a single reactor. This broke the legacy lcore-based messages as those expect there to be at least one spdk_thread per lcore. Any spdk_poller_register() or spdk_get_io_channel() called from such a legacy message would fail an assertion, as spdk_get_thread() returned NULL. Fixes #743 Change-Id: I81a3f76d9c4788596c697df6ff51b264b99ce10b Signed-off-by:Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450353 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com> Reviewed-by:
Karol Latecki <karol.latecki@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com>