fix numa cpu distribution

The numa node location would be calculated based on the total number
of worker threads.
So we should always use the actual number of threads instead of using a min() op.
This commit is contained in:
wkgcass 2025-02-26 14:48:22 +08:00
parent 99f6e42113
commit b2bff17775

View File

@ -54,7 +54,12 @@ void Backend::do_work_stealing_job(int task_num,
init_func_ = init_func;
compute_func_ = compute_func;
finalize_func_ = finalize_func;
#ifdef USE_NUMA
// numa node location will be calculated based on the number of threads
thread_num_ = max_thread_num_;
#else
thread_num_ = std::min(max_thread_num_, task_num);
#endif
int base = task_num / thread_num_;
int remain = task_num % thread_num_;
thread_state_[0].end = base + (0 < remain);
@ -146,4 +151,4 @@ void Backend::worker_thread(int thread_id) {
return;
}
}
}
}