[reiserfs-list] Re: [OpenAFS-devel] more on the 2.2.18pre17 SMP
cpu hog/etc.
Chris Mason
mason@suse.com
Sat, 02 Dec 2000 11:26:52 -0500
On Saturday, December 02, 2000 09:33:19 -0600 Nathan Neulinger
<nneul@umr.edu> wrote:
> "Vladimir V. Saveliev" wrote:
>
>> If this one was called - that might explain slowness of iget.
>>
>> Thanks,
>> vs
>
> Ok. So why is that happening, and what can I do about it?
>
> The reiserfs list didn't get the rest of the conversation on this - but
> this slowdown means that a reasonably configured afs takes 10 minutes
> (or worse) to start up on this machine at boot. That might be reasonable
> on a 486... on a dual piii-850 w/ 512MB that's pretty rediculous.
>
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.
So, can AFS store more information about the file in a filehandle of some
kind? If so, we can give you code to fill in the packing locality for iget.
-chris