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

Jeffrey Hutzelman jhutz@cmu.edu
Mon, 4 Dec 2000 19:34:42 -0500 (EST)

On Tue, 5 Dec 2000, Andi Kleen wrote:

> On Mon, Dec 04, 2000 at 07:00:54PM -0500, Jeffrey Hutzelman wrote:
> > > Actually with the efficient dcache in 2.2+ I suspect that method could
> > > be used unconditionally on Linux for all file systems without much if
> > > any slowdown.  As long as the dentries stay cached there is no directory
> > > walking overhead even on filesystem with not-so-well scaling directories
> > > like ext2. 
> > 
> > But I don't think you want to keep 32K+ dentries all the time, or assume
> > that they will stay in the cache.
> I was not aware that it needs that many files.
> Ok, then normal iget() for ext2 and file names for reiserfs and XFS or people
> who want to use multiple file systems for their cache (if you can spare a few
> bits in the pseudo inode to index into a path name table). The user could
> switch it with an option. 
> > > copied inode structure looks very fragile and has e.g. caused problems
> > > with the suse kernel (which has two fields more than a normal linux 2.2
> > > inode)
> > 
> > It's not as fragile as you might think.  The inode structure doesn't
> > change all that frequently, and using symbol versions catches it when
> > it does change.  Unfortunately, far too many people use AFS modules
> > without symbol versions.  I'm hoping that will begin to change.
> I know that it breaks here.

Because you try to load a module that is not compatible with your kernel.
If the modules used symbol versions (I assume your kernels already do),
then you'd notice right away.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA