Subject: Re: many sockets, slow sendto

From: Zacco <[email-masked]>
Date: Sun, 22 Apr 2007 14:34:18 +0200

Hi Eric and all,

Thanks a lot. However, some chunks still resisted to apply, the manual
patching worked. I tested and the results are more than satisfactory.
Not just the reception part became faster, but also the bind calls. The
gain is especially significant when increasing the hash table size. I
applied it in an older kernel with similar success. Basically, my
problem is solved.

I have just one question: Why do you check the address in
__udp_lib_port_inuse? I think it is enough to check the port, as the
name of the function suggests, but I may be wrong. I removed it and the
patch still works fine, but for me this is not a proof, as I may use it
in some special case.

As for your confusion: You're right. My idea to include the both sockets
in the hash function was really unnecessary, even in my example. Thx for
revealing that!

I applied another modification in the patch: I called the hash function
from __udp_lib_port_inuse, instead passing the hash value. This way, I
could reduce the number modifications, so the patch is easier to apply
manually to whatever kernel version.

Thx: Zacco

Eric Dumazet wrote:
> On Thu, 29 Mar 2007 21:24:31 +0200
> Zacco <[email-masked]> wrote:
>
>   
>> Hi,
>>
>> Thanks for the patch. I almost dare not confess that I don't know which 
>> version to apply to. I tried 3 different ones (2.6.19-r5-gentoo, 
>> 2.6.20.1 and 2.6.21-rc4), but in the best case at least two hunks 
>> failed. Nevertheless, I applied the patches manually. In each case, UDP 
>> stopped working. I guess, you checked the patch and worked. I don't 
>> think I made a mistake in the manual copy, and it seems unlikely that 
>> your patch interfered with other parallel changes in the kernel - but, 
>> I'm just guessing ...
>> I think, I'd better send you the spec and code, as you suggested that 
>> first we have a common understanding of the issue. I must have failed in 
>> passing the point. I'm removing irrelevant stuff, and I send it to you 
>> as soon as I can (sorry for my long delays).
>>
>> thx a lot,
>> Zacco
>>     
>
> Hum, please find a (working) patch against linux-2.6.21-rc5
>
> (first patch was against net-2.6.22 git tree and had one bug)
>
> ...