• David Sterba's avatar
    btrfs: add little-endian optimized key helpers · ce6ef5ab
    David Sterba authored
    The CPU and on-disk keys are mapped to two different structures because
    of the endianness. There's an intermediate buffer used to do the
    conversion, but this is not necessary when CPU and on-disk endianness
    match.
    
    Add optimized versions of helpers that take disk_key and use the buffer
    directly for CPU keys or drop the intermediate buffer and conversion.
    
    This saves a lot of stack space accross many functions and removes about
    6K of generated binary code:
    
       text    data     bss     dec     hex filename
    1090439   17468   14912 1122819  112203 pre/btrfs.ko
    1084613   17456   14912 1116981  110b35 post/btrfs.ko
    
    Delta: -5826
    Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
    Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    ce6ef5ab
ctree.c 141 KB