Ansicht umschalten
Avatar von Eumelohr
  • Eumelohr

521 Beiträge seit 20.03.2001

Re: Erster - arrgh

thim schrieb am 24. Januar 2003 12:28
> Ich denk mal, auch der MAC über PCI wird einfach wenig CPU-Last
> erzeugen. Denn das ist ja wirklich nur ein kleiner Teil während der
> Konfiguration. Entscheident ist der Datentransfer der reinen Pakete,
> und die kommen ja per DMA, also recht CPU-unlastig. Bleiben noch die
> IRQ Handler, die sich im Treiber um das Anstoßen und die Freigaben
> der DMA Buffer gegenüber Stack und PCI/MAC kümmern, aber das ist nur
> ein 32 Bit Register beim MAC udn dort auch nur 4 bit davon und zum
> Stack/SAP des OS (also des nächsten Layers) nicht viel. 
Es gibt da, abhängig vom Modell, doch teilweise *SEHR* große
Unterschiede... Wenn ich da an die RealTek-Teile denke... die können
zwar DMA, erzeugen aber trotzdem viel mehr CPU-Last als andere
Bausteine. Don Becker hat dazu was auf seiner Seite stehen (glaube
ich auf http://www.scyld.com/network/rtl8139.html ), wo er sich über
die krassen Design-Fehler der RealTek MAC+PHYs tierisch aufregt, und
welche Verrenkungen er bei der Treiberprogrammierung machen mußte, um
wenigstens halbwegs akzeptable Performance aus den Dingern
rauszuholen.

> Viel schlimmer ist z.B. der träge TCP/IP Stack von allen Windows
> Versionen, der kostet richtig, da macht die CPU nun wirklich nichts.
Das ist richtig. Hier geht es aber um die Frage, was für
Performance-Unterschiede es zwischen unterschiedlichen Chips auf der
gleichen Plattform gibt. Der TCP/IP-Stack ist also in beiden Fällen
identisch, trotzdem bekommt man unterschiedliche Übertragungsraten
und CPU-Auslastungen. Die c't hat doch vor einiger Zeit mal
Gigabit-Ethernet-Karten auf sowas hin getestet, und es gab da
bemerkenswerte Schwankungen von Modell zu Modell.

Man kann also eben *NICHT* einfach sagen "Datentransfer geht über
DMA, also hat die CPU damit nix zu tun". So sollte es vielleicht in
einer idealen Welt mit bestens designten Chips und programmierten
Treibern sein, IST es aber einfach nicht.

Noch weniger kann man sagen "die sind ganz normal über MII
angebunden, da fällt die CPU_Last eigentlich bei allen gleich aus",
weil das MII mit der CPU-Last nix zu tun hat, wie eben erwähnt, und
auf dem Mainboard das Dingen eher über PCI angebunden ist als über
MII.

Darauf wollte ich nur hinweisen, ohne hier jetzt klugscheißen zu
wollen oder so. :)

Die Frage des ursprünglichen Posters, wie die Performance der
Broadcom-Chips im Vergleich mit 3com, Intel... aussieht, ist also
durchaus berechtigt, und ein Test darüber wäre schon mal interessant.
Die Broadcom-Teile tauchen eben jetzt wirklich vermehrt auf Boards
und in Laptops etc. auf, da sollte man schon mal wissen, woran man
ist, und ob's gescheite Treiber für alle gängigen Plattformen für die
Dinger gibt....

> Und wenn Du was Embedded machen willst, dann empfehle ich den Au1500
> von AMD, der hat nämlich den MAC direkt mit 250MHz am internen Bus.
Das ist natürlich sehr sinnvoll, der (mit 33MHz getaktete, 32Bit
breite) PCI-Bus in einem "normalen" PC kann mir ja sowieso kein
Gigabit-Ethernet auslasten (zumindest nicht, wenn noch irgendwas
anderes dran hängt). Den Au1500 hatte ich mir seinerzeit auch
schonmal angesehen, wollte der Kunde aber nicht...
Meine Cheffen hier wollten außerdem auf der Kiste dann Montavista
Linux laufen lassen, deshalb werkelt da jetzt ein Xscale, für den
gab's damals von denen schon ein fertiges System.
Daß der Xscale eher ne Enttäuschung ist, lassen wir jetzt mal außen
vor... :)

Greetz,
Eumelohr

Bewerten
- +
Ansicht umschalten