[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1335457888.2775.55.camel@edumazet-glaptop>
Date: Thu, 26 Apr 2012 18:31:28 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Shawn Bohrer <sbohrer@...advisors.com>
Cc: netdev@...r.kernel.org
Subject: Re: Heavy spin_lock contention in __udp4_lib_mcast_deliver increase
On Thu, 2012-04-26 at 11:28 -0500, Shawn Bohrer wrote:
> No in this case it is 300 unique multicast addresses, and there is one
> socket listening to each multicast address. So a single message is
> only copied once to a single socket. The bottle neck appears to be
> that even though a single message is only going to get copied to a
> single socket we still have to walk the list of all 300 sockets while
> holding the spin lock to figure that out. The incoming packet rate is
> also roughly evenly distributed across all 300 multicast addresses so
> even though we have multiple receive queues they are all contending
> for the same spin lock.
>
I repeat my question : Are these 300 sockets bound to the same UDP
port ?
If not, they should be spreaded in hash table.
You can make this hash table very big to reduce hash collisions
Boot parameter : uhash_entries=65536
--
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