From: Shirley Ma <[EMAIL PROTECTED]> Date: Tue, 22 May 2007 15:58:05 -0700
> Sorry for the confusion. I am thinking to avoid copy in skb_segment() for > GSO. The way could be in tcp_sendmsg() to allocate small discontiguous > buffers (equal = MTU) instead of allocating pages. The SKB splitting algorithm in TCP's transmit engine depends upon the skb_shared_info() array being splittable at arbitrary points with only page counts to manage. This is the only way I found to make SKB splitting at transmit time extremely inexpensive. SACK block processing needs to perform these kinds of splits at well, so it really really has to be cheap. The invariant is that every TCP TSO packet must have it's header at skb->data and all of it's data in the paged skb_shared_info(). - 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