Subject: Re: Qube2 Network Performance & Forwarding
To: None <port-cobalt@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cobalt
Date: 05/08/2006 22:50:22
In article <17491.5821.507807.34738@cochise.kilbi.de>
mk@kilbi.de wrote:

> Maybe I can help here with my qube2 (which shows identical ifconfig -m
> tlp{0,1} results):
 :
> Does it only contain the mac addresses?

Yes, and I think if_tlp_pci.c has already handled it
by vendor ID in the MAC address.
(Maybe Linux tulip driver implicitly refers SROM contents
 specified by DEC regardless of its vendor)
If the performance problem is caused by inappropriate
MII settings it would cause more awful results,
like <100KB/s xfer rate.

Anyway, basically tulip chips can't receive packets at unaligned
word address via DMA directly, so RX function in tulip driver
must copy RX data from DMA buffer to mbufs, so xfer rate will
be limitted by bandwidth of memory-to-memory-copy.
(see sys/dev/ic/tulip.c around #ifdef __NO_STRICT_ALIGNMENT)
ex(4), epic(4), and pcn(4) etc. don't have such restriction
(i.e. they can do DMA to unaligned buffer) so we could get
a bit better performance with them, but maybe another problem
is that NetBSD/mips pmap is not so optimized for MIPS3 CPUs
(especially ones which don't have VCE support) and there are
too many cache flush ops to avoid virtual cache aliases,
so it might cause less performance than Linux.
(though I haven't checked Linux VM sources...)
---
Izumi Tsutsui