diff options
author | Dave Chinner <dchinner@redhat.com> | 2010-07-20 03:53:25 -0400 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-07-26 14:16:48 -0400 |
commit | 2f11feabb19748c0ffa2eb82d438e8a91b9f6ea0 (patch) | |
tree | 02564de802ac344b7c2048ed10438443356bfce1 /fs/xfs/xfs_inode.h | |
parent | ec53d1dbb3ca960e7b552397613358ba1dbd12bd (diff) |
xfs: simplify and remove xfs_ireclaim
xfs_ireclaim has to get and put te pag structure because it is only
called with the inode to reclaim. The one caller of this function
already has a reference on the pag and a pointer to is, so move the
radix tree delete to the caller and remove xfs_ireclaim completely.
This avoids a xfs_perag_get/put on every inode being reclaimed.
The overhead was noticed in a bug report at:
https://bugzilla.kernel.org/show_bug.cgi?id=16348
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r-- | fs/xfs/xfs_inode.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index eb41559ea8cd..0898c5417d12 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -450,7 +450,7 @@ void xfs_ilock_demote(xfs_inode_t *, uint); | |||
450 | int xfs_isilocked(xfs_inode_t *, uint); | 450 | int xfs_isilocked(xfs_inode_t *, uint); |
451 | uint xfs_ilock_map_shared(xfs_inode_t *); | 451 | uint xfs_ilock_map_shared(xfs_inode_t *); |
452 | void xfs_iunlock_map_shared(xfs_inode_t *, uint); | 452 | void xfs_iunlock_map_shared(xfs_inode_t *, uint); |
453 | void xfs_ireclaim(xfs_inode_t *); | 453 | void xfs_inode_free(struct xfs_inode *ip); |
454 | 454 | ||
455 | /* | 455 | /* |
456 | * xfs_inode.c prototypes. | 456 | * xfs_inode.c prototypes. |