diff options
Diffstat (limited to 'module/zfs')
-rw-r--r-- | module/zfs/arc.c | 8 | ||||
-rw-r--r-- | module/zfs/dbuf.c | 2 | ||||
-rw-r--r-- | module/zfs/dmu_objset.c | 2 | ||||
-rw-r--r-- | module/zfs/dsl_pool.c | 2 | ||||
-rw-r--r-- | module/zfs/metaslab.c | 2 | ||||
-rw-r--r-- | module/zfs/spa.c | 8 | ||||
-rw-r--r-- | module/zfs/txg.c | 6 | ||||
-rw-r--r-- | module/zfs/zfs_ctldir.c | 2 | ||||
-rw-r--r-- | module/zfs/zil.c | 2 |
9 files changed, 18 insertions, 16 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 66e67795f..c2fdf1630 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -5431,7 +5431,7 @@ arc_init(void) mutex_init(&arc_prune_mtx, NULL, MUTEX_DEFAULT, NULL); bzero(&arc_eviction_hdr, sizeof (arc_buf_hdr_t)); - arc_prune_taskq = taskq_create("arc_prune", max_ncpus, minclsyspri, + arc_prune_taskq = taskq_create("arc_prune", max_ncpus, defclsyspri, max_ncpus, INT_MAX, TASKQ_PREPOPULATE | TASKQ_DYNAMIC); arc_ksp = kstat_create("zfs", 0, "arcstats", "misc", KSTAT_TYPE_NAMED, @@ -5444,10 +5444,10 @@ arc_init(void) } (void) thread_create(NULL, 0, arc_reclaim_thread, NULL, 0, &p0, - TS_RUN, minclsyspri); + TS_RUN, defclsyspri); (void) thread_create(NULL, 0, arc_user_evicts_thread, NULL, 0, &p0, - TS_RUN, minclsyspri); + TS_RUN, defclsyspri); arc_dead = FALSE; arc_warm = B_FALSE; @@ -6954,7 +6954,7 @@ l2arc_start(void) return; (void) thread_create(NULL, 0, l2arc_feed_thread, NULL, 0, &p0, - TS_RUN, minclsyspri); + TS_RUN, defclsyspri); } void diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c index c7b6a5d9a..3807418c9 100644 --- a/module/zfs/dbuf.c +++ b/module/zfs/dbuf.c @@ -413,7 +413,7 @@ retry: * All entries are queued via taskq_dispatch_ent(), so min/maxalloc * configuration is not required. */ - dbu_evict_taskq = taskq_create("dbu_evict", 1, minclsyspri, 0, 0, 0); + dbu_evict_taskq = taskq_create("dbu_evict", 1, defclsyspri, 0, 0, 0); } void diff --git a/module/zfs/dmu_objset.c b/module/zfs/dmu_objset.c index 56a804dfb..4d5baf8da 100644 --- a/module/zfs/dmu_objset.c +++ b/module/zfs/dmu_objset.c @@ -1839,7 +1839,7 @@ dmu_objset_find_dp(dsl_pool_t *dp, uint64_t ddobj, ntasks = dmu_find_threads; if (ntasks == 0) ntasks = vdev_count_leaves(dp->dp_spa) * 4; - tq = taskq_create("dmu_objset_find", ntasks, minclsyspri, ntasks, + tq = taskq_create("dmu_objset_find", ntasks, maxclsyspri, ntasks, INT_MAX, 0); if (tq == NULL) { kmem_free(dcp, sizeof (*dcp)); diff --git a/module/zfs/dsl_pool.c b/module/zfs/dsl_pool.c index 23cf43862..ada0eac63 100644 --- a/module/zfs/dsl_pool.c +++ b/module/zfs/dsl_pool.c @@ -170,7 +170,7 @@ dsl_pool_open_impl(spa_t *spa, uint64_t txg) mutex_init(&dp->dp_lock, NULL, MUTEX_DEFAULT, NULL); cv_init(&dp->dp_spaceavail_cv, NULL, CV_DEFAULT, NULL); - dp->dp_iput_taskq = taskq_create("z_iput", max_ncpus, minclsyspri, + dp->dp_iput_taskq = taskq_create("z_iput", max_ncpus, defclsyspri, max_ncpus * 8, INT_MAX, TASKQ_PREPOPULATE | TASKQ_DYNAMIC); return (dp); diff --git a/module/zfs/metaslab.c b/module/zfs/metaslab.c index 5544859b6..b328cbb0a 100644 --- a/module/zfs/metaslab.c +++ b/module/zfs/metaslab.c @@ -492,7 +492,7 @@ metaslab_group_create(metaslab_class_t *mc, vdev_t *vd) mg->mg_activation_count = 0; mg->mg_taskq = taskq_create("metaslab_group_taskq", metaslab_load_pct, - minclsyspri, 10, INT_MAX, TASKQ_THREADS_CPU_PCT | TASKQ_DYNAMIC); + maxclsyspri, 10, INT_MAX, TASKQ_THREADS_CPU_PCT | TASKQ_DYNAMIC); return (mg); } diff --git a/module/zfs/spa.c b/module/zfs/spa.c index d8eaf9979..2e23a341f 100644 --- a/module/zfs/spa.c +++ b/module/zfs/spa.c @@ -898,11 +898,13 @@ spa_taskqs_init(spa_t *spa, zio_type_t t, zio_taskq_type_t q) pri_t pri = maxclsyspri; /* * The write issue taskq can be extremely CPU - * intensive. Run it at slightly lower priority - * than the other taskqs. + * intensive. Run it at slightly less important + * priority than the other taskqs. Under Linux this + * means incrementing the priority value on platforms + * like illumos it should be decremented. */ if (t == ZIO_TYPE_WRITE && q == ZIO_TASKQ_ISSUE) - pri--; + pri++; tq = taskq_create_proc(name, value, pri, 50, INT_MAX, spa->spa_proc, flags); diff --git a/module/zfs/txg.c b/module/zfs/txg.c index 7681856ea..1d5ee97b1 100644 --- a/module/zfs/txg.c +++ b/module/zfs/txg.c @@ -205,7 +205,7 @@ txg_sync_start(dsl_pool_t *dp) tx->tx_threads = 2; tx->tx_quiesce_thread = thread_create(NULL, 0, txg_quiesce_thread, - dp, 0, &p0, TS_RUN, minclsyspri); + dp, 0, &p0, TS_RUN, defclsyspri); /* * The sync thread can need a larger-than-default stack size on @@ -213,7 +213,7 @@ txg_sync_start(dsl_pool_t *dp) * scrub_visitbp() recursion. */ tx->tx_sync_thread = thread_create(NULL, 32<<10, txg_sync_thread, - dp, 0, &p0, TS_RUN, minclsyspri); + dp, 0, &p0, TS_RUN, defclsyspri); mutex_exit(&tx->tx_sync_lock); } @@ -445,7 +445,7 @@ txg_dispatch_callbacks(dsl_pool_t *dp, uint64_t txg) * Commit callback taskq hasn't been created yet. */ tx->tx_commit_cb_taskq = taskq_create("tx_commit_cb", - max_ncpus, minclsyspri, max_ncpus, max_ncpus * 2, + max_ncpus, defclsyspri, max_ncpus, max_ncpus * 2, TASKQ_PREPOPULATE | TASKQ_DYNAMIC); } diff --git a/module/zfs/zfs_ctldir.c b/module/zfs/zfs_ctldir.c index 59405de82..efa6cfa0a 100644 --- a/module/zfs/zfs_ctldir.c +++ b/module/zfs/zfs_ctldir.c @@ -1009,7 +1009,7 @@ zfsctl_shares_lookup(struct inode *dip, char *name, struct inode **ipp, void zfsctl_init(void) { - zfs_expire_taskq = taskq_create("z_unmount", 1, maxclsyspri, + zfs_expire_taskq = taskq_create("z_unmount", 1, defclsyspri, 1, 8, TASKQ_PREPOPULATE); } diff --git a/module/zfs/zil.c b/module/zfs/zil.c index 6a3885816..289b23c7f 100644 --- a/module/zfs/zil.c +++ b/module/zfs/zil.c @@ -1888,7 +1888,7 @@ zil_open(objset_t *os, zil_get_data_t *get_data) ASSERT(list_is_empty(&zilog->zl_lwb_list)); zilog->zl_get_data = get_data; - zilog->zl_clean_taskq = taskq_create("zil_clean", 1, minclsyspri, + zilog->zl_clean_taskq = taskq_create("zil_clean", 1, defclsyspri, 2, 2, TASKQ_PREPOPULATE); return (zilog); |