Subject: Re: Prestoserve NFS "accelerator" ?
To: mcguire@neurotica.com, David Evans <dfevans@bbcr.uwaterloo.ca>
From: Matt Thomas <matt@3am-software.com>
List: port-pmax
Date: 09/14/1998 12:53:05
At 11:14 AM 9/14/98 , Dave McGuire wrote:
>On Mon, 14 Sep 1998, David Evans wrote:
>>> NetBSD doesn't support the PrestoServe board, since we've never have
>>> one to test with.
>>
>>  Umm...errr...what does the PrestoServe actually do?  Sorry if this is a
>>dumb question.
>
>  It's a chunk of battery-backed RAM that's used as a write cache for NFS data. 
>Parts of the NFS code are modified to write to this cache and then return from a
>write call immediately, instead of waiting for it to get all the way to disk. 
>The battery-backed RAM is flushed periodically.

Not quite right.  The buffer cache/VFS layer is modified to redirect synchronous
data writes to the Prestoserve NVRAM and schedule async writes from the NVRAM.
Hence NFS does not even know it's there.  This also helped other software which
caused a lot of sync writes to happen (like directory updates on news servers).

>  If the machine goes down, stuff in the rc scripts checks for stale data in
>that chunk of RAM...if there is some, it flushes it out to where it's supposed
>to be.

Actually, fsck took care of it under ULTRIX.  It would apply the changes from
Prestoserve NVRAM before actually trying to verify the disk structure.
-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Sunnyvale, CA             Disclaimer: I avow all knowledge of this message