xfs/502: scale file count based on AG count to avoid thrashing
authorBrian Foster <bfoster@redhat.com>
Fri, 9 Apr 2021 19:08:34 +0000 (15:08 -0400)
committerEryu Guan <guaneryu@gmail.com>
Sun, 11 Apr 2021 09:10:55 +0000 (17:10 +0800)
commitbfc810719b1d5dc60ee51928b2d84728f97ad30d
tree503d226a8f5627988c7c8bfcefb7a52de4a02f34
parentfebeb7ec8bfcfd77c99ea993afd11c6348695ddb
xfs/502: scale file count based on AG count to avoid thrashing

xfs/502 currently creates a default of 30k unlinked files per CPU.
While this completes in a reasonable amount of time on systems with
lesser numbers of CPUs, this scales poorly on high CPU count systems
that are otherwise testing smaller default filesystems. For example,
on an 80xcpu box and a 15GB (4 AG) XFS filesystem, xfs/502 requires
3 hours to complete. The same test on a 4xcpu vm (or the 80xcpu
hardware with an 80AG filesystem instead of the default of 4AGs)
completes in a little over 5 minutes. This is a rather severe
thrashing breakdown that doesn't add much value to the test
coverage.

Address this problem by scaling the file count to the AG count of
the filesystem rather than the CPU count of the test system. Since
the AG count is likely to be less than the CPU count, bump the
default scaling factor a bit from 30k per CPU to 50k per AG. From
there, larger counts can still be exercised via the global load
factor configuration.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/502