From: Jeff Garzik <[EMAIL PROTECTED]>
Date: Wed, 07 Dec 2005 14:27:50 -0500

> If so, it sounds like copybreak should be disabled by default, and/or a 
> runtime switched added for it.

This logic applies to all drivers, though.  If you're cpu loaded,
then yes copying the packets will require more cpu work and thus
decrease your packet processing rates, duh.. :-)

Having it off by default is a bad idea from a socket perspective.
When you have 64 byte data packets consuming 1500+ bytes of
data storage, which is what you get with copybreak disabled,
TCP spends all of it's time copying packet data around as the
socket buffering limits on receive are hit quite quickly due to
the bad "real data to space used" ratio.

So for non-routers, copybreak results in less cpu work and smoother
TCP transfers especially under loss.

To me it's a small price to pay for cleaner socket buffer utilization.

Regardless of the decision, it's incorrect to point out e1000
specifically as many other Linux networking drivers do copybreak too
and I've always public advocated for copybreak to be used by drivers
due to the socket buffering issue.  Whatever we decide here about
copybreak, we should apply consistently across all drivers and my vote
is on by default with an ethtool switch folks can use to tweak this.
I can even do the tg3 bits :-)
-
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