Date: Mon, 6 Dec 1999 13:33:33 -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: <199912062133.NAA72851@apollo.backplane.com> References: <Pine.GSO.3.96.991206142945.23212B-100000@sol.cs.binghamton.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
:On Mon, 6 Dec 1999, Ronald G. Minnich wrote:
:
:> On Mon, 6 Dec 1999, Zhihui Zhang wrote:
:> > I have modified FFS filesystem code to put the disk inode at the beginning
:> > of a file, i.e, the logical block #0 of each file begins with 128 bytes of
:> > its disk inode and the rest of it are file data.
:>
:> first question I have is, why?
:
:I am doing some research on filesystem. I guess it may be faster to put
:the disk inode with its file data together so that both can be read into
:memory in one I/O.
:
:-Zhihui
Not really. The inode tends to wind up being cached by the system
longer then file data, so placing it with the file data will not
help -- since it is already probably cached, the system generally doesn't
have to read it off the disk more then once anyway, and in a heavily
loaded system the system caching is sufficiently detached from the file
data processing that it is actually more beneficial to group inodes
together (one disk read is able to cache many inodes all in one go).
Another problem is that things like 'ls -la' or 'find' have to stat files
and if you put the inode at the beginning of the file you essentially
distribute the inodes all over the cylinder group rather then concentrate
all the inodes in one place.
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.
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912062133.NAA72851>
