HomeFreeBSD

Use taskqueue(9) to do writes/commits to mirrored DSs concurrently.

Description

Use taskqueue(9) to do writes/commits to mirrored DSs concurrently.

When the NFSv4.1 pNFS client is using a Flexible File Layout specifying
mirrored Data Servers, it must do the writes and commits to all mirrors.
This patch modifies the client to use a taskqueue to perform these writes
and commits concurrently.
The number of threads can't be changed for taskqueue(9), so it is set
to 4 * mp_ncpus by default, but this can be overridden by setting the
sysctl vfs.nfs.pnfsiothreads.

Differential Revision: https://reviews.freebsd.org/D12632

Details

Provenance
rmacklemAuthored on
Differential Revision
D12632: pNFS client concurrent mirror I/O patch
Parents
rS324675: MFC of 324456.
Branches
Unknown
Tags
Unknown