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