HEADS UP - Another media change for HAMMER

Matthew Dillon dillon at apollo.backplane.com
Sat May 17 12:16:38 PDT 2008


    After doing performance testing I isolated an issue related to slow
    directory scans.   Basically the problem is that an inode has a B-Tree
    key which localizes it relative to its contents.  Unfortunately this
    means that the inodes themselves wind up not being localized when doing
    a directory scan.

    What I really want is to have the inode localized relative to other
    inodes.  This will not only localize inodes within the B-Tree, but will
    also localize the inode meta-data (uid, gid, size, etc), and should
    result in extremely fast directory scans and lookups.

    So I am going to make another media change, now when I have the chance :-)
    The B-Tree element structure has some unused space and I am going to
    use some of it to create a 'localization' parameter which will have
    sorting priority over the object id.  This will allow me to group inode
    elements together both in the B-Tree and in the data layout.

    Again, I can't promise there wont be more changes.  I want to get it
    right before the official release.

						-Matt






More information about the Kernel mailing list