One modification that sgi could make isto add a dentry_operations struct to
delete the dentry at the first opportunity. Their is an example
of this fs/pipe.c. Some care would have to taken in openbyhandle since
you don't want to set the dentry_operations on a dentry that was made
by somebody else.
The d_delete function just returns 1 if the dentry should be celeted
on a dput, assuming the references says you can. The will causes
the dentry cash to remain small which fixes one memory problem.
The system will purge the dentry cach but it takes a while.
This will allow the system to purge the inode cache of unused inodes sooner
since there won't be a dentry referance to a inode.
At 11:40 AM 5/24/2001 -0400, Tom Carroll wrote:
Hey everyone,
Here's the scenario:
I was backing up an XFS fs to a tape. I was not able to complete
the backup due to the high memory consumption of the xfs related caching.
It appears that every inode I touch is cached and once an inode is
cache it never expires.
Attached is log of /proc/slabinfo during a untarring of an archive
onto a XFS fs.
|