Subject: Re: 80Mbps routing with Micrel KS8695
To: Steve Woodford <scw@netbsd.org>
From: Jason Thorpe <thorpej@shagadelic.org>
List: port-arm
Date: 01/20/2005 07:07:30
--Apple-Mail-4--922567853
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII; format=flowed
On Jan 17, 2005, at 3:02 AM, Steve Woodford wrote:
>> Changes I made:
>> * bypass most dmamap_sync() and use DMA_COHERENT mappings
>
> For descriptor memory, this is actually a good idea on non cache
> coherent
> platforms anyway. Especially if individual descriptors are smaller than
> a cache line.
Some experiments performed by some folks a while ago seemed to show
that, on Xscale, at least, buffered/non-cacheable was the best mode for
device control data (descriptors). Unfortunately, there's not a good
way to describe that in the current bus_dma(9) API. Eventually, I'd
like to introduce a DMA_DMA_CDATA flag that can provide this hint to
the back-end.
> If you examine the object code for routines such as ip_input() et al,
> you'll see why. Nearly all the important network data structures have
> __attribute__((__packed__)) qualifiers, which causes gcc to emit
> bytewise loads/stores for all such structure members on architectures,
> like ARM, which don't support misaligned accesses.
Yah, Jesse, please remove those __packed__ attributes and run your test
again.
-- Jason R. Thorpe <thorpej@shagadelic.org>
--Apple-Mail-4--922567853
content-type: application/pgp-signature; x-mac-type=70674453;
name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
iD8DBQFB78kyOpVKkaBm8XkRArbnAKCLbPBcAGXQHeY71xd2phRhSokYyACfZmOQ
lCRS+0chrvM5HygQW6NOyig=
=7ve2
-----END PGP SIGNATURE-----
--Apple-Mail-4--922567853--