zfsonlinux/zfs — pull request #482 by Prakash-Surya (2011-12-07 00:37:07+00:00)
Title: Illumos #734: Use taskq_dispatch_ent() interface

It has been observed that some of the hottest locks are those
of the zio taskqs. Contention on these locks can limit the
rate at which zios are dispatched which limits performance
for large configurations.

This upstream change from Illumos uses new interface to the
taskqs which allow them to utilize a prealloc'ed taskq_ent_t.
This removes the need to perform an allocation at dispatch
time while holding the contended lock.

Reviewed by: Albert Lee
Reviewed by: Richard Lowe
Reviewed by: Alexey Zaytsev
Reviewed by: Jason Brian King
Reviewed by: George Wilson
Reviewed by: Adam Leventhal
Approved by: Gordon Ross

References to Illumos issue:
https://www.illumos.org/issues/734

Ported-by: Prakash Surya
Signed-off-by: Brian Behlendorf