On Tue, 13 Jun 2000, Alexander Viro wrote:
> > Have you given any consideration to coming up with a more lightweight
> > inode structure? Either through modification of the VFS inode, or
> > creation of some kind of "generic" lightweight inode structure that
> > stores the bare essentials. Perhaps it could go like this:
> > dentry->lightweight inode->heavyweight inode.
> 
> Start from taking ext2, UFS and NFS out of ->u. in struct inode. Yup,
> separate allocation and inlined function (ext2_ino(inode)) that would
> return the pointer to private part of inode. I can send you my old (circa
> 2.2.early) patch that does it for ext2 tonight - hope that will help.
> 
> Notice that some filesystems are already keeping private stuff out of
> struct inode, so similar taking the worst offenders out will not be too
> complex. You'll need ->clear_inode() releasing the data + foo_new_inode()
> and foo_read_inode() allocating it. That's more or less it - minimal patch
> mostly consists of replacements like inode->u.ext2_i.foo to
> ext2_ino(inode)->foo.

not only is this good for devfs, but sockets will also have less memory
overhead, because every socket has an associated inode.  that's great for
servers with tens of thousands of open sockets.

let me know if i can help with this.

        - Chuck Lever
--
corporate:      <[EMAIL PROTECTED]>
personal:       <[EMAIL PROTECTED]>

The Linux Scalability project:
        http://www.citi.umich.edu/projects/linux-scalability/

Reply via email to