GFS2: Cache the most recently used resource group in the inode
authorSteven Whitehouse <swhiteho@redhat.com>
Thu, 1 Sep 2011 12:31:59 +0000 (13:31 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 21 Oct 2011 11:39:34 +0000 (12:39 +0100)
commit54335b1fca27b84baa75b1f45985d98262003837
treec6b21aff1759d86be56208e9981117e4383c3f47
parent8339ee543ece6e2dcc1bbd97d5350163c198cf00
GFS2: Cache the most recently used resource group in the inode

This means that after the initial allocation for any inode, the
last used resource group is cached in the inode for future use.
This drastically reduces the number of lookups of resource
groups in the common case, and this the contention on that
data structure.

The allocation algorithm is the same as previously, except that we
always check to see if the goal block is within the cached rgrp
first before going to the rbtree to look one up.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/aops.c
fs/gfs2/file.c
fs/gfs2/incore.h
fs/gfs2/inode.c
fs/gfs2/quota.c
fs/gfs2/rgrp.c
fs/gfs2/super.c
fs/gfs2/trans.h
fs/gfs2/xattr.c