Subject: RE: zbufs for NetBSD
To: None <david@l8s.co.uk, kyle.unice@L-3com.com>
From: None <kyle.unice@L-3com.com>
List: tech-kern
Date: 08/23/2002 08:12:34
The salient point is that copying memory from one buffer to another will
always take longer than passing a pointer. The larger the amount of memory
the longer the delay to copy it somewhere else. When working with MTUs of
64K this can affect overall performance of the network service. For
embedded real-time systems serving network functions, this performance
difference can mean the difference between going with NetBSD or going with
VxWorks (VxWorks is all ring 0 unless you add the MMU software).
Kyle
-----Original Message-----
From: David Laight [mailto:david@l8s.co.uk]
Sent: Friday, August 23, 2002 8:06 AM
To: kyle.unice@L-3com.com
Cc: thorpej@wasabisystems.com; tech-kern@netbsd.org
Subject: Re: zbufs for NetBSD
> Zero-copy mbufs get more advantagous as the size of the MTU increases.
> NetWare file server performance is a good example of how ring zero
operation
> of a network application can make a difference in overall system
> performance. (i.e. a 486 running NetWare can support a 1000 users, whereas
> other ring 3 operating systems cannot).
You can only do this is the system is dedicate to a single protocol,
otherwise you don't know which buffers to put the data it.
There are a whole pile of brain-dead 'optimisations' that have been
done to ethernet cards in order to improve the performance of
certain netware benchmarks. The usually use large amounts of
cpu time, requiring multiple interrupts per packet. Their
'raison d'etre' is that netwars uses/used 512 byte ethernet
packets and a credit of 1 (ie every packet is acked from the
application layer).
OTOH if you ran a sensible protocol and sensible benchmarks
then 'transactions/second' is a much better measure of
server performance than 'response time.
David
--
David Laight: david@l8s.co.uk