Re: Speed of memcpy, csum_partial and csum_partial_copy

Pedro Roque Marques (roque@di.fc.ul.pt)
Sun, 9 Jun 1996 00:23:07 +0100


>>>>> "Alan" == Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

>> In short, the two copies that occur in TCP loopback (first from
>> the sender into the kernel, and then from the kernel into the
>> receiver) alone account for 60% of the TCP stack..

Alan> There are three for TCP loopback unless someone has fiddled
Alan> recently. We copy

user-> sk_buff [with csum]
Alan> sk_buff to sk_buff
sk_buff-> user [skip csum]

Alan> While it seems a really dumb thing to do it makes sense as
Alan> there may be retransmissions and thus the receiver cannot go
Alan> using the queue pointers of the senders buffer copy. Its a
Alan> bad case solely applicable to loopback, and if we are going
Alan> to optimise loopback tcp we should do the solaris trick and
Alan> dump everything. In the mean time thats what AF_UNIX was
Alan> invented for.

On the TCP i've been seting up for 2.1 there is no need for copy
number 2 since the skb is cloned (the copy is restricted to the skb
header).

Well, gonna try removing that copy you mention to see if it increases
performance. Is it done on the loopback device itself ?

regards,
Pedro.