• Dave Chinner's avatar
    xfs: only run xfs_error_test if error injection is active · c76febef
    Dave Chinner authored
    Recent tests writing lots of small files showed the flusher thread
    being CPU bound and taking a long time to do allocations on a debug
    kernel. perf showed this as the prime reason:
    
                 samples  pcnt function                    DSO
                 _______ _____ ___________________________ _________________
    
               224648.00 36.8% xfs_error_test              [kernel.kallsyms]
                86045.00 14.1% xfs_btree_check_sblock      [kernel.kallsyms]
                39778.00  6.5% prandom32                   [kernel.kallsyms]
                37436.00  6.1% xfs_btree_increment         [kernel.kallsyms]
                29278.00  4.8% xfs_btree_get_rec           [kernel.kallsyms]
                27717.00  4.5% random32                    [kernel.kallsyms]
    
    Walking btree blocks during allocation checking them requires each
    block (a cache hit, so no I/O) call xfs_error_test(), which then
    does a random32() call as the first operation.  IOWs, ~50% of the
    CPU is bei...
    c76febef
xfs_error.c 4.59 KB