Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Dec 1999 16:46:36 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Zhihui Zhang <zzhang@cs.binghamton.edu>
Cc:        "Ronald G. Minnich" <rminnich@lanl.gov>, freebsd-fs@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   Re: ELF & putting inode at the front of a file
Message-ID:  <199912070046.QAA73815@apollo.backplane.com>
References:   <Pine.GSO.3.96.991206152310.24121A-100000@sol.cs.binghamton.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
:>     distribute the inodes all over the cylinder group rather then concentrate
:>     all the inodes in one place.
:
:Yes. I have implemented most of the code.  I noticed the "ls -al" is slow
:but "ls" is OK. 

    Yes, ls (without any options) is ok because the file type is now being
    stuffed in the directory entry, allowing ls (without any options) to 
    avoid stat()ing the file.

:>     p.s. I was wrong about it breaking mmap() - in fact offseting the file
:>     data on-disk will not break mmap().  But it will produce unaligned disk
:>     transfers and potentially extra seeking.
:
:Yes. The cp command may use mmap().  I modify the mmap() so that this
:works. But this mmap() is done by the user, I can intercept it at the
:mmap() system call.  As I said in my original email, the kernel uses
:memory map internally to load an ELF object file. I have to let the kernel
:know that there is a disk inode at the beginning of the ELF object file.
:It is hard for me to identify what part of the code is affected and to
:what extent.  I think there should be a way.
:
:-Zhihui

    There's another issue that you should look at - generally functionally
    different caches work better as separate entities then as a single 
    entity.  In this case it is far easier for the system to cache an inode
    (or a set of inodes) then it is for the system to cache a data block.  If
    you force a system to cache both at the same time when it only needs one
    type or the other (because one might already be cached), the result is
    that neither cache is able to run optimally.

    It might be interesting, as an exercise, to attempt to pre-cache the inode
    space in the traditional unmodified system when a directory is
    read and leave them as separate entities and see whether that gives you
    the same performance boost.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912070046.QAA73815>