• Andi Kleen's avatar
    direct-io: inline the complete submission path · ba253fbf
    Andi Kleen authored
    Add inlines to all the submission path functions. While this increases
    code size it also gives gcc a lot of optimization opportunities
    in this critical hotpath.
    
    In particular -- together with some other changes -- this
    allows gcc to get rid of the unnecessary clearing of
    sdio at the beginning and optimize the messy parameter passing.
    Any non inlining of a function which takes a sdio parameter
    would break this optimization because they cannot be done if the
    address of a structure is taken.
    
    Note that benefits are only seen with CONFIG_OPTIMIZE_INLINING
    and CONFIG_CC_OPTIMIZE_FOR_SIZE both set to off.
    
    This gives about 2.2% improvement on a large database benchmark
    with a high IOPS rate.
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    ba253fbf
direct-io.c 38 KB