direct-io: inline the complete submission path
authorAndi Kleen <ak@linux.intel.com>
Tue, 2 Aug 2011 04:38:08 +0000 (21:38 -0700)
committerroot <root@serles.lst.de>
Fri, 28 Oct 2011 12:58:58 +0000 (14:58 +0200)
commitba253fbf6d3502c54e1ac8792e7ac8290a1f5b8d
tree08bfd191e714b53ed44ec185f890cc5113e6dafd
parent18772641dbe2c89c6122c603f81f6a9574aee556
direct-io: inline the complete submission path

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: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
fs/direct-io.c