> 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 teh first operation. IOWs, ~50% of the > CPU is being consumed just testing whether we need to inject an > error, even though error injection is not active. > > Kill this overhead when error injection is not active by adding a > global counter of active error traps and only calling into > xfs_error_test when fault injection is active. Looks good. And a good reminder that we should optimize the code to not call xfs_btree_check_block on catch matches once putting the CRC checks into it later. Reviewed-by: Christoph Hellwig <hch@xxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs