zfs: lower priority of zio_write_issue threads by four
The difference of one was insignificant because zio_write_issue threads ended up on the same run queues as other zio threads. See sys/priority.h and sys/runq.h for more details. Add a comment describing FreeBSD priority considerations and restore the illumos variant of the code for comparison. Obtained from: Panzura MFC after: 2 weeks Sponsored by: Panzura
This commit is contained in:
parent
a384a37df8
commit
2b1bedaf06
@ -922,9 +922,17 @@ spa_taskqs_init(spa_t *spa, zio_type_t t, zio_taskq_type_t q)
|
||||
* The write issue taskq can be extremely CPU
|
||||
* intensive. Run it at slightly lower priority
|
||||
* than the other taskqs.
|
||||
* FreeBSD notes:
|
||||
* - numerically higher priorities are lower priorities;
|
||||
* - if priorities divided by four (RQ_PPQ) are equal
|
||||
* then a difference between them is insignificant.
|
||||
*/
|
||||
if (t == ZIO_TYPE_WRITE && q == ZIO_TASKQ_ISSUE)
|
||||
pri++;
|
||||
#ifdef illumos
|
||||
pri--;
|
||||
#else
|
||||
pri += 4;
|
||||
#endif
|
||||
|
||||
tq = taskq_create_proc(name, value, pri, 50,
|
||||
INT_MAX, spa->spa_proc, flags);
|
||||
|
Loading…
Reference in New Issue
Block a user