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--