Commit e2d061fb authored by Liu Xiaodong's avatar Liu Xiaodong Committed by Tomasz Zawadzki
Browse files

reactor: update core mode from master core



Current update_core_mode is started from the next
core of the master core.
For futher's new scheduler, starting from master
core is required. This change won't impact current
schedulers' behavior.

Change-Id: Ibffd2c93a4288b5e87945ae523ccba88091c4031
Signed-off-by: default avatarLiu Xiaodong <xiaodong.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6757


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent b2ff5425
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -703,7 +703,12 @@ _reactors_scheduler_update_core_mode(void *ctx)
	struct spdk_reactor *reactor;
	int rc = 0;

	if (g_scheduler_core_number == SPDK_ENV_LCORE_ID_ANY) {
		g_scheduler_core_number = spdk_env_get_first_core();
	} else {
		g_scheduler_core_number = spdk_env_get_next_core(g_scheduler_core_number);
	}

	if (g_scheduler_core_number == SPDK_ENV_LCORE_ID_ANY) {
		_reactors_scheduler_fini();
		return;
@@ -728,7 +733,7 @@ _reactors_scheduler_balance(void *arg1, void *arg2)
	if (g_reactor_state == SPDK_REACTOR_STATE_RUNNING) {
		g_scheduler->balance(g_core_infos, g_reactor_count, &g_governor);

		g_scheduler_core_number = spdk_env_get_first_core();
		g_scheduler_core_number = SPDK_ENV_LCORE_ID_ANY;
		_reactors_scheduler_update_core_mode(NULL);
	}
}