aio: bump i_count instead of using igrab
authorChris Mason <chris.mason@oracle.com>
Mon, 23 Aug 2010 14:47:55 +0000 (10:47 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 26 Oct 2010 01:18:23 +0000 (21:18 -0400)
commit306fb0979443419288594446a348155a8027dcf2
tree757dc3d7fa87ad693ac40860d996349dc277872b
parente1455d1bdccbe056ba53479741b1452106ce59aa
aio: bump i_count instead of using igrab

The aio batching code is using igrab to get an extra reference on the
inode so it can safely batch.  igrab will go ahead and take the global
inode spinlock, which can be a bottleneck on large machines doing lots
of AIO.

In this case, igrab isn't required because we already have a reference
on the file handle.  It is safe to just bump the i_count directly
on the inode.

Benchmarking shows this patch brings IOP/s on tons of flash up by about
2.5X.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/aio.c