Ok, here are some results - unfortunately i dont have further access to the hardware until tommorow:
Hardware: --------- a 2Ghz dual Xeon hyperthreading (shows up as 4 processors); 512 KB L2 Cache and 1Gig Ram. Two ethernet e1000 82546EB tests: ------ Forwarding tests with a single flow into eth0 and another into eth1. A switch connects the two ports since this is an embedded device. All load goes onto CPU#0. I didnt try to tune or balance anything so the numbers could be better than those noted here All tests send exactly 10M packets burst at wire rate (1.488 MPps) on each interface. 4 runs are made; pick the last 3 of 4. Results: -------- kernel 2.6.11.7: 446Kpps kernel 2.6.14: 452kpps kernel 2.6.14 with e1000-6.2.15: 470Kpps Kernel 2.6.14 with e1000-6.2.15 but rx copybreak commented out: 460Kpps conclusion: ----------- One could draw the conclusion that copybreak is good or prefetch is bad. There are two other important tests i need to get conclusive results: 1) remove prefetch + copybreak 2) keep copybreak but remove prefetch And lastly to just play with different prefetch on/off as Robert did. Robert, I did notice some odd behavior with the latest driver - it comes turned on for some reason with 802 tx and receive flow control. The switch i have in the middle obeys flow control and so i was getting some _very_ incosistent results until i turned it off. Example one of the ethernets would be starved while the other got full traffic etc. Could you verify if this was affecting your results? Also - to the intel folks, any reason this behavior was made default? cheers, jamal - 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