[reiserfs-list] Re: [OpenAFS-devel] more on the 2.2.18pre17 SMPcpu hog/etc.

Andi Kleen ak@suse.de
Sat, 2 Dec 2000 18:26:36 +0100

On Sat, Dec 02, 2000 at 11:18:39AM -0600, Nathan Neulinger wrote:
> > Ok, the problem is that AFS is calling iget, so it probably needs special
> > code to deal with reiserfs.
> > 
> > For reiserfs to find an inode on disk, it needs the inode number of the
> > file, and the packing locality.  This is usually (but not always) the inode
> > number of the parent directory.  Calling iget is fine when the inode is
> > already in memory, otherwise the reiserfs code goes into a very slow, very
> > ugly search (the search_by_objectid call) to fill in the other 32 bits of
> > information needed to find the file.
> But here's the part that doesn't make sense - it doesn't do that on ANY
> of the other machines on which I run afs + reiserfs. On most of the
> other machines, with caches that are usually anywhere from 15,000 -
> 35,000 files on reiserfs partitions, it starts up in a few seconds. 
> The only difference that I can think of is that my home machine has the
> afscache as part of the root filesystem, and not on a dedicated
> partition (i.e. it's own filesystem at top level, with nothing other
> than afscache in it).

On a dedicated partition the brute force packing locality search will
go very quickly. It gets slow when there is other data on the partition.