Fix inode reclaim scalability regression.
When a filesystem has millions of inodes cached and has sparse
cluster population, removing inodes from the cluster hash
consumes excessive amounts of CPU time. Reduce the CPU
cost by making removal O(1) via use of a double linked list
for the hash chains.
Date: Wed Apr 5 12:21:54 AEST 2006
Workarea: chook.melbourne.sgi.com:/build/dgc/isms/2.6.x-xfs
Inspected by: nathans,tes
The following file(s) were checked into:
longdrop.melbourne.sgi.com:/isms/linux/2.6.x-xfs-melb
Modid: xfs-linux-melb:xfs-kern:25683a
fs/xfs/xfs_iget.c - 1.212 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/xfs_iget.c.diff?r1=text&tr1=1.212&r2=text&tr2=1.211&f=h
- Convert cluster hash list to a double linked list to
speed xfs_iextract() when large numbers of inodes are cached.
fs/xfs/xfs_inode.h - 1.212 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/xfs_inode.h.diff?r1=text&tr1=1.212&r2=text&tr2=1.211&f=h
- Convert cluster hash list to a double linked list to
speed xfs_iextract() when large numbers of inodes are cached.
|