Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Handling of short frames in gem(4) (was: CVS commit: src/sys/dev/ic)
On Tue, Jan 01, 2008 at 01:12:28PM +0000, Matthias Scheler wrote:
> 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.
Or even just have a mbuf for each TX ring entry and check for that
before freeing.
Joerg
Home |
Main Index |
Thread Index |
Old Index