aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2014-01-06 16:31:49 -0800
committerBrian Behlendorf <[email protected]>2014-01-07 10:46:24 -0800
commitaeeb4e0c0ae75b99ebbaa3056f0afc8e12949532 (patch)
treeaf201ad6275047701d81f08b95e776c9896ed124 /module
parent2f117de8beca7da1d22103df4630e9298afae370 (diff)
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 <[email protected]> Closes #325
Diffstat (limited to 'module')
-rw-r--r--module/spl/spl-taskq.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/module/spl/spl-taskq.c b/module/spl/spl-taskq.c
index bcdc98f97..3605a0f3b 100644
--- a/module/spl/spl-taskq.c
+++ b/module/spl/spl-taskq.c
@@ -843,7 +843,6 @@ taskq_create(const char *name, int nthreads, pri_t pri,
"%s/%d", name, i);
if (tqt->tqt_thread) {
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));
wake_up_process(tqt->tqt_thread);
j++;