• Darrick J. Wong's avatar
    xfs: online scrub needn't bother zeroing its temporary buffer · 036f463f
    Darrick J. Wong authored
    The xattr scrubber functions use the temporary memory buffer either for
    storing bitmaps or for testing if attribute value extraction works.  The
    bitmap code always zeroes what it needs and the value extraction sets
    the buffer contents, so it's not necessary to waste CPU time zeroing on
    allocation.
    
    Note that while we never read the contents that the attr value
    extraction function sets, we do need to call it to check the remote
    attribute header and CRCs to check for corruption.
    
    A flame graph analysis showed that we were spending 7% of a xfs_scrub
    run (the whole program, not just the attr scrubber itself) allocating
    and zeroing 64k segments needlessly.
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    036f463f
attr.c 13.9 KB