]> granicus.if.org Git - zfs/commit
Write issue taskq shouldn't be dynamic
authorTim Chase <tim@chase2k.com>
Mon, 10 Oct 2016 22:19:14 +0000 (17:19 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 10 Oct 2016 22:19:14 +0000 (15:19 -0700)
commitd33931a83a33db4034186dfda6dcdd294ace2c75
treeed3f60d617440d0e4012eaffc739c00a81534039
parent57f16600b981f38585a956ae674488640424f711
Write issue taskq shouldn't be dynamic

This is as much an upstream compatibility as it's a bit of a performance
gain.

The illumos taskq implemention doesn't allow a TASKQ_THREADS_CPU_PCT type
to be dynamic and in fact enforces as much with an ASSERT.

As to performance, if this taskq is dynamic, it can cause excessive
contention on tq_lock as the threads are created and destroyed because it
can see bursts of many thousands of tasks in a short time, particularly
in heavy high-concurrency zvol write workloads.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tim Chase <tim@chase2k.com>
Closes #5236
module/zfs/spa.c