]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r314549: Execute last ZIO of log commit synchronously.
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 16 Mar 2017 07:11:35 +0000 (07:11 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 16 Mar 2017 07:11:35 +0000 (07:11 +0000)
commitbdcc1cb344f97f642aeee45ad2211567868aa669
tree6311d477976a89d8c7208d2ab5030f1527012971
parentcd2caf4138ff513832e7da3fa0a1ca6cd5c341da
MFC r314549: Execute last ZIO of log commit synchronously.

For short transactions overhead of context switch can be too large.
Skipping it gives significant latency reduction.  For large ones,
including multiple ZIOs, latency is less critical, while throughput
there may become limited by checksumming speed of single CPU core.
To get best of both cases, execute last ZIO directly from calling
thread context to save latency, while all others (if there are any)
enqueue to taskqueues in traditional way.

git-svn-id: svn://svn.freebsd.org/base/stable/10@315388 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c