mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 03:19:35 +03:00
Remove default taskq thread to CPU bindings
When this code was written it appears to have been assumed that every taskq would have a large number of threads. In this case it would make sense to attempt to evenly bind the threads over all available CPUs. However, it failed to consider that creating taskqs with a small number of threads will cause the CPUs with lower ids become over-subscribed. For this reason the kthread_bind() call is being removed and we're leaving the kernel to schedule these threads as it sees fit. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #325
This commit is contained in:
parent
2f117de8be
commit
aeeb4e0c0a
@ -843,7 +843,6 @@ taskq_create(const char *name, int nthreads, pri_t pri,
|
|||||||
"%s/%d", name, i);
|
"%s/%d", name, i);
|
||||||
if (tqt->tqt_thread) {
|
if (tqt->tqt_thread) {
|
||||||
list_add(&tqt->tqt_thread_list, &tq->tq_thread_list);
|
list_add(&tqt->tqt_thread_list, &tq->tq_thread_list);
|
||||||
kthread_bind(tqt->tqt_thread, i % num_online_cpus());
|
|
||||||
set_user_nice(tqt->tqt_thread, PRIO_TO_NICE(pri));
|
set_user_nice(tqt->tqt_thread, PRIO_TO_NICE(pri));
|
||||||
wake_up_process(tqt->tqt_thread);
|
wake_up_process(tqt->tqt_thread);
|
||||||
j++;
|
j++;
|
||||||
|
Loading…
Reference in New Issue
Block a user