Subject: Handling of short frames in gem(4) (was: CVS commit: src/sys/dev/ic)
To: None <port-sparc64@NetBSD.org>
From: Matthias Scheler <tron@NetBSD.org>
List: source-changes
Date: 01/01/2008 13:12:28
On Mon, Dec 31, 2007 at 08:54:43PM +0000, David Young wrote:
> Module Name:	src
> Committed By:	dyoung
> Date:		Mon Dec 31 20:54:43 UTC 2007
> 
> Modified Files:
> 	src/sys/dev/ic: gem.c
> 
> Log Message:
> gem_start() pads a Tx packet to the minimum ethernet frame length
> by adding a segment to the Tx chain.  That entails using one more
> descriptor.  It did not synchronize the last descriptor.
> 
> In gem_start(), clarify and repair DMA synchronization of the Tx
> descriptors.  Sync them all.

Wouldn't it be cheaper (and simpler) to allocate a new mbuf and copy
the data? IIRC DMA operations are quite expensive on UltraSPARC systems.

	Kind regards

-- 
Matthias Scheler                                  http://zhadum.org.uk/