As an ongoing series from previous xfs_repair patches, this one changes
the method of selecting and performing multithreaded AG processing.
With most simple filesystems, the current multithreading method actually
make xfs_repair slower by increasing the amount of disk seeking between
AGs.
The biggest benefits for parallel processing of AGs is when the filesystem
is across a concat of disks/LUNs. So, now the default is a single thread
unless you specify an "ag_stride" using the xfs_repair -o option. Then it
will initiate a suitable number of threads based on the number of AGs in
the filesystem and the stride value.
For example, a 32 AG filesystem with a concat of 2 equal sized disks/LUNs,
you would use the "-o ag_stride=16" to get one thread to process AGs 0-15
and the second thread to process AGs 16-31.
Generally, the stride value is set to the AG number that is fully within
the second part of the concat.
ag_stride
Description: Binary data
|