Subject: Re: zbufs for NetBSD
To: None <tech-kern@netbsd.org>
From: Matthew Mondor <mmondor@gobot.ca>
List: tech-kern
Date: 09/20/2002 10:01:55
On Tue, 10 Sep 2002 15:57:55 +0100
David Laight <david@l8s.co.uk> wrote:

> On Mon, Sep 09, 2002 at 07:56:45AM -0600, kyle.unice@L-3com.com wrote:
> > Good point.  IMHO zero copy receives and sends are nice features for a
> > networked OS.  How they are implemented (zbufs or something else) is
> > less important than having the feature.
> > Kyle
> 
> Are you sure you actually understand the cost of memory-memory copies.
> It is often MUCH less than you image.
> 
> For instance the Pentium 4 book says:
> 
> The Pentium 4, Intel Xeon, and P6 family processors modify the
> processors operation during the string store operations (initiated with
> the MOVS and STOS instructions) to maximize performance.  Once the "fast
> string"
> [...]
> Initial conditions for "fast string" operations:
> - EDI and ESI must be 8-byte aligned for the Pentium III processor.
>    EDI must be 8-byte aligned for the Pentium 4 processor.
> - String operation must be performed in ascending address order.
> - The initial operation counter (ECX) must be equal to or greater than
> 64.

I truely agree that this consists of a great feature, although it is
highly architecture-dependant, whereas NetBSD focuses alot on achieving
generally good performance on most CPU famillies... I guess that possibly
alternatives could be used for specific processors, this would have to be
done carefully to not make the code unmaintainable, however

Matt