On Tue, Jul 18, 2000 at 12:23:00PM -0400, Russell Nelson wrote:
> Bruce Guenter writes:
>  > The faster seek time, the better (which is the motivation behind DJB's
>  > ingenious zeroseek proposal).
> 
> I've been thinking about how you would do that.  If you really want no 
> seeks, then you would have to keep small messages in memory, and only
> write them out to a circular queue.  You'd write out a checkpoint
> whenever a message is safely delivered.  The problem is messages that
> aren't safely delivered.  When you wrapped around to them, you'd have
> to read them out into another queue.
> 
> The other problem I anticipate zeroseek having is the guarantee of a
> seekable file on qmail-local's stdin.

I believe the premise of zeroseek is that none of the queue files will
ever be sync'd, and as such they will typically only exist in the cache
(since their queue lifetime will be less than 30 seconds).  They still
exist in the filesystem, but a modern OS will not cause them to get
flushed until either memory pressure or aging pushes them out of the
cache.

The only way to get truely zero seek performance is to use a
log-structured file system on a clean disk.  Otherwise, you will seek
occasionally to write out some dirty metadata.  Even if you pre-allocate
your log file on a regular filesystem, you will seek occasionally (once
a second, AFAICT) to update the utime in the inode.
-- 
Bruce Guenter <[EMAIL PROTECTED]>                       http://em.ca/~bruceg/

PGP signature

Reply via email to