[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070319.161611.70218081.davem@davemloft.net>
Date: Mon, 19 Mar 2007 16:16:11 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: zacco@...hu
Cc: baruch@...en.org, netdev@...r.kernel.org
Subject: Re: many sockets, slow sendto
From: Zacco <zacco@...hu>
Date: Tue, 20 Mar 2007 00:10:19 +0100
> As you recommended, I used oprofile and it turned out that the
> __udp4_lib_lookup function spent most of the time. There is a udp hash
> table and the sockets are sought based on the 7 LSBs of the destination
> port number. So what happened is now quite obvious: I had many thousands
> of sockets, all with the same destination port, thus linked in the same
> slot of this hash table. I tried using different ports and it
> was much faster then.
There isn't much we can do here. I bet your destination address
is unchanging just like your destination ports.
UDP apps can and do bind to specific destination addresses and
ports, but the source side is usually wild-carded.
Are both the source address and port fully specified for your
sockets? Maybe we can do something using if that's the case...
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists