Make zio_taskq_batch_pct user configurable
Adds zio_taskq_batch_pct as an exported module parameter, allowing users to modify it at module load time. Signed-off-by: DHE <git@dehacked.net> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #4110
This commit is contained in:
parent
15126e5d08
commit
f7dfb8b07a
|
@ -1598,6 +1598,23 @@ Prioritize requeued I/O
|
||||||
Default value: \fB0\fR.
|
Default value: \fB0\fR.
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
|
.sp
|
||||||
|
.ne 2
|
||||||
|
.na
|
||||||
|
\fBzio_taskq_batch_pct\fR (uint)
|
||||||
|
.ad
|
||||||
|
.RS 12n
|
||||||
|
Percentage of online CPUs (or CPU cores, etc) which will run a worker thread
|
||||||
|
for IO. These workers are responsible for IO work such as compression and
|
||||||
|
checksum calculations. Fractional number of CPUs will be rounded down.
|
||||||
|
.sp
|
||||||
|
The default value of 75 was chosen to avoid using all CPUs which can result in
|
||||||
|
latency issues and inconsistent application performance, especially when high
|
||||||
|
compression is enabled.
|
||||||
|
.sp
|
||||||
|
Default value: \fB75\fR.
|
||||||
|
.RE
|
||||||
|
|
||||||
.sp
|
.sp
|
||||||
.ne 2
|
.ne 2
|
||||||
.na
|
.na
|
||||||
|
|
|
@ -867,7 +867,7 @@ spa_taskqs_init(spa_t *spa, zio_type_t t, zio_taskq_type_t q)
|
||||||
case ZTI_MODE_BATCH:
|
case ZTI_MODE_BATCH:
|
||||||
batch = B_TRUE;
|
batch = B_TRUE;
|
||||||
flags |= TASKQ_THREADS_CPU_PCT;
|
flags |= TASKQ_THREADS_CPU_PCT;
|
||||||
value = zio_taskq_batch_pct;
|
value = MIN(zio_taskq_batch_pct, 100);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -6804,4 +6804,9 @@ MODULE_PARM_DESC(spa_load_verify_metadata,
|
||||||
module_param(spa_load_verify_data, int, 0644);
|
module_param(spa_load_verify_data, int, 0644);
|
||||||
MODULE_PARM_DESC(spa_load_verify_data,
|
MODULE_PARM_DESC(spa_load_verify_data,
|
||||||
"Set to traverse data on pool import");
|
"Set to traverse data on pool import");
|
||||||
|
|
||||||
|
module_param(zio_taskq_batch_pct, uint, 0444);
|
||||||
|
MODULE_PARM_DESC(zio_taskq_batch_pct,
|
||||||
|
"Percentage of CPUs to run an IO worker thread");
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue