[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1271697418.3845.92.camel@edumazet-laptop>
Date: Mon, 19 Apr 2010 19:16:58 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Tom Herbert <therbert@...gle.com>
Cc: davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [PATCH RFC]: soreuseport: Bind multiple sockets to same port
Le lundi 19 avril 2010 à 08:38 -0700, Tom Herbert a écrit :
> Calling it a nightmare be be a little strong. It is true that this
> could create long chains that need to be walked, but this might be
> done with good cache locality of the structures. In any case, the
> lock contention seems to overshadow the cost of this; we were able to
> increase max number of DNS queries/sec by about 60% (I will try to
> publish some numbers this week).
>
I have no doubt this patch increases performances, but I think its not a
long term solution. We can do better ;)
> >
> I agree that CPU awareness is desirable, but I'm really hesitant to
> resort to pinning; this can become pretty tangled on a shared server
> running a bunch of different applications-- would be nice if the
> kernel can just figure out the right thing to do :-)
>
OK I can understand this, but please use an array of sockets bound to
same tuple, so that lookup stay constant, regardless of number of
sockets. UDP fast path is a sensible area for financial applications.
Once anchor is found in normal udp hashtable, the choice of a random
target in its array is O(1) too (you could use skb->rxhash if not null)
Hmm, maybe we even could use same mechanism for multicast, since we
currently perform a very expensive loop.
--
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