summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
index 6ab48ca..adee7b6 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
@@ -953,7 +953,11 @@ spa_taskq_dispatch_ent(spa_t *spa, zio_type_t t, zio_taskq_type_t q,
if (tqs->stqs_count == 1) {
tq = tqs->stqs_taskq[0];
} else {
+#ifdef _KERNEL
+ tq = tqs->stqs_taskq[cpu_ticks() % tqs->stqs_count];
+#else
tq = tqs->stqs_taskq[gethrtime() % tqs->stqs_count];
+#endif
}
taskq_dispatch_ent(tq, func, arg, flags, ent);
OpenPOWER on IntegriCloud