jamal writes: > > > copybreaks help you.. > > > > Thanks for running these tests, so far it mostly validates that for > > the general case the copybreak and prefetch benefits things. > > I dont know what you would call a general case. Pick two modern boards > as in these tests: I'll add some more fuel here... :)
You were right about the flow control it's seems it was not disabled with my first experiment it means lot of variation so I decided to rerun some of the copybreak tests. Still like the results to verified... Anyway to the todays two copybreak tests... All e1000 6.2.15 64 byte pkts. Dual Opteron 1.6 GHz First. Single flow of pkts eth0->eth1 all same dst one CPU ---------------------------------------------------------- With cpybrk 666 kpps (We see a drop at qdisc) With no cpybrk 657 kpps Second.32k concurrent flows @ 10 pkts per flw. 123k routes using both CPU's --------------------------------------------------------------------------- With cpybrk 691 kpps With no cpybrk 802 kpps For a very simple forwarding case we see a small win but for heavy network server with hash and FIB lookups and garbage collection etc it seems copybreak should be disabled. A bit surprising. Thanks for this discussion. It comes in handy as I have to prepare for a new distro for our network stuff. Right now it seems like e1000 6.2.15 can be used but with HW-flow disabled, cpybrk disabled and only with the two first prefetches. Hmm there were some patches for using local memory on NUMA systems. What the status here? Tests? Cheers. --ro First experiment ---------------- Single flow of pkts e1000 6.2.15 No cpybrk 657 kpps With cpybrk 666 kpps (We see a drop at qdisc) No cpybrk input 1299 kpps Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags eth0 1500 0 5067035 0 4932965 0 5 0 0 0 BRU eth1 1500 0 1 0 0 0 5065350 0 0 0 BRU eth2 1500 0 0 0 0 0 3 0 0 0 BRU eth3 1500 0 0 0 0 0 3 0 0 0 BRU With cpybrk input 1299 kpps Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags eth0 1500 0 5258735 0 4741265 0 5 0 0 0 BRU eth1 1500 0 1 0 0 0 5131971 0 0 0 BRU eth2 1500 0 0 0 0 0 3 0 0 0 BRU eth3 1500 0 0 0 0 0 3 0 0 0 BRU 00503df0 00000000 00004479 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 qdisc pfifo 1: dev eth1 limit 1000p Sent 307918062 bytes 5131968 pkts (dropped 125143, overlimits 0) Second experiment ----------------- With cpybrk 691 kpps With no cpybrk 802 kpps Input 655+640 kpps 32 flows @ 10 pkts per flw 64 byte pkts With copybrk and all 5 prefetches Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags eth0 1500 0 5127067 0 4872933 0 5 0 0 0 BRU eth1 1500 0 1 0 0 0 5126710 0 0 0 BRU eth2 1500 0 5570756 0 4429244 0 5 0 0 0 BRU eth3 1500 0 1 0 0 0 5570399 0 0 0 BRU 004e3b9c 00000000 000042c8 00000000 00000000 00000000 00000000 00000000 00000000 005500c5 00000000 0000488f 00000000 00000000 00000000 00000000 00000000 00000000 Input 663+650 kpps 32 flows @ 10 pkts per flw 64 byte pkts Without copybrk and all 5 prefetches Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags eth0 1500 0 5782756 0 4217244 0 5 0 0 0 BRU eth1 1500 0 1 0 0 0 5782271 0 0 0 BRU eth2 1500 0 6453043 0 3546957 0 3 0 0 0 BRU eth3 1500 0 1 0 0 0 6452686 0 0 0 BRU 00583ce5 00000000 00004b50 00000000 00000000 00000000 00000000 00000000 00000000 00627734 00000000 0000540d 00000000 00000000 00000000 00000000 00000000 00000000 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html