Ex-Kollege caz sagte auf dem Fratzenbuch: »Im Netz hab ich nur gelesen das die ganzen mobile CPUs kein Ethernet haben :(«
Nun, das machte mich neugierig, denn »lsusb« listet weder beim Cubietruck noch dem Odroid U3 ein per USB angebundenes Ethernet und da dachte ich in meinem jugendlichen Leichtsinn, dann wäre das »nativ«. Denkste, Puppe!
Ich habe also mal Tante G gefragt, und sie hat mir viele traurige Geschichten erzählt …
Augenscheinlich (siehe hier und hier) haben der A10 und A20 irgendwas ethernet-iges namens “EMAC” drauf, der A20 zusätzlich einen “GMAC”. GMAC steht hier für »Gigabit Ethernet Media Access Controller«, »EMAC« vermutlich für die 10/100-MBit/sec-Variante. Das GBit-Ethernet meines Cubietrucks, was mich doch arg enttäuschte, scheint also ein natives Interface zu sein, im Falle des Cubietrucks hängt ein Realtek RTL8211 per »Reduced Gigabit Media Independent Interface (RGMII) or Gigabit Media Independent Interface (GMII)« am GMAC und kümmert sich um die elektrische Seite von (Gigabit-) Ethernet.

Nun muß ich sagen, daß ich meine Tests gegen den Odroid U3 ja gegen einen USB-GBit-Port an einem 100 MBit/s-Switchport gefahren habe — aus $Gründen …
Lt. Wikipedia kommt der Cubietruck auf:
The RTL8211E NIC allows transfer rates up to 630–638 Mbits/sec (sending while 5–10% idle) and 850–860 Mbits/sec (receiving while 0–2% idle) when simultaneous TCP connections are established (testing was done utilising iperf with 3 clients against Cubietruck running Lubuntu desktop 1.0)
Gut, ich habe nicht iperf verwendet, weil mir Singlethread-Performance noch immer etwas wert ist; aber selbst diese Werte lassen aufhorchen: warum kommt ein, an den CPU-Core angebundenes, GBit-Interface grade mal auf gut die Hälfte der möglichen Leistung?
Eine der nächsten Aktionen wird es also sein, beim Odroid U3 mittels GBit-Verbindung (per USB-Adapter) die Grenzen auszuloten — und den Cubietruck mit SATA-Platten als ownCloud-Server zu testen …

wenn 5-10% idle meint das die cpu zu 90-95% geladen war dann ist das Senden von TCP Paketen offenbar CPU limitiert.
Guck doch mal in die Sourcen ob der Ethernetcontroller irgendetwas der CPU abnimmt oder ob das nur ein Ringbuffer oder aehnliches ist.
Kein IPerf, aber durchaus nicht soo ungewöhlich: eine Anwendung schiebt Daten in eine TCP-Röhre, eine andere tut auch was … Ich habe das grade noch mal nachgestellt: Cubietruck macht »dd if=/dev/zero bs=1M count=1000 | nc -q 2 192.168.5.70 8888«, Core i7-Laptop »nc -l -p 8888 -q 3 >/dev/null«. GBit, zwei Ports auf dem gleichen Switch: »1048576000 bytes (1.0 GB) copied, 40.5859 s, 25.8 MB/s«. Cubietruck (mit Cubian) verbriet auf CPU0 60% im System, 40% mit Software Interrupts. »nc«wurde mit 75, »dd« mit 25% CPU angezeigt — CPU1 kraulte sich die nicht vorhandenen Eier.
Beim Empfangen ist »nc« mit 95% CPU busy, CPU0 verteilt sich auf rd. 40/60 zwischen System und Software Interrupts; Userspace scheint komplett außen vor ;) Ergebnis: »10485760000 bytes (10 GB) copied, 196.489 s, 53.4 MB/s«
So richtig zufrieden bin ich mit dem Cubetruck angesichts des Preises nicht. Überlege, mir einen ODROID-XU Lite zu holen, der hat zwar auch weder GBit noch SATA, aber 8 BIGlittle-Cores (4 A15, 4 A7) und USB3. USB3-nach-GBit kostet rd. 20 EUR, klingt nach diesjährigem vorösterlichen Selbstgeschenk ;)