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

Reply via email to