[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

dreaddir/fxattr



>I'm still not sure about this. The delay of readdir/stat is caused by the
>multiple file lookups (e.g. several directory searches if it's a full path).
>Things which don't use the new syscall wont win. Also is it intended that the
>new library would use this syscall to reduce the work in certain situations
>(e.g. automatically with readdir).
>	Since this involves messing with the kernel, why not use a cookie 
>cache which is then backwards compatible and speeds up *all* multiple 
>operations on the same file (the lib is full of these) instead of just
>optimising the readdir/xattr case.
>	I could do this with an LRU cache in Minixfs lookup/readdir but it's
>best in the kernel to speed up all filesystems and to have path as opposed to
>directory dependency.

I agree that this is the best solution.  If we implement a new system
call we will still need to retain backwards compatibility in the
library (try new readdir call, if it is not available then use
readdir/getxattr) which will only make the syscall overhead greater in
many instances and complicates programming for those using the OS
interface directly without an intervening library interface.  Adding a
write-through directory cache in the kernel solves the original
problem without introducing new ones.

Cheers,
entropy

--
entropy -- it's not just a good idea, it's the second law.
Personal mail:      entropy@gnu.ai.mit.edu
MiNT library mail:  entropy@terminator.rs.itd.umich.edu
"what do you have against octal?" -jrb