summaryrefslogtreecommitdiffstats
path: root/module/spl/spl-taskq.c
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2009-02-02 08:53:53 -0800
committerBrian Behlendorf <[email protected]>2009-02-02 08:53:53 -0800
commitf220894e1fc86cbfaf073dc4cca519887c41e78e (patch)
tree3445b3f78de88e1748b087329306dab00169d510 /module/spl/spl-taskq.c
parent10a4be0f0369b80c44e013513acf7ad36f64cfaa (diff)
Make the number of system taskq threads based on the node of cores in the node, as is done for most linux system tasks
Diffstat (limited to 'module/spl/spl-taskq.c')
-rw-r--r--module/spl/spl-taskq.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/module/spl/spl-taskq.c b/module/spl/spl-taskq.c
index 799b54839..e77ef669f 100644
--- a/module/spl/spl-taskq.c
+++ b/module/spl/spl-taskq.c
@@ -474,8 +474,10 @@ spl_taskq_init(void)
{
ENTRY;
- system_taskq = taskq_create("system_taskq", 64, minclsyspri, 4, 512,
- TASKQ_PREPOPULATE);
+ /* Solaris creates a dynamic taskq of up to 64 threads, however in
+ * a Linux environment 1 thread per-core is usually about right */
+ system_taskq = taskq_create("spl_system_taskq", num_online_cpus(),
+ minclsyspri, 4, 512, TASKQ_PREPOPULATE);
if (system_taskq == NULL)
RETURN(1);