From: Daniel Borkmann <dborkman@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: James Yonan <james@openvpn.net>, netdev@vger.kernel.org
Subject: Re: UDP "accept" proposed
Date: Tue, 18 Jun 2013 12:41:04 +0200 [thread overview]
Message-ID: <51C03940.9020704@redhat.com> (raw)
In-Reply-To: <1371550627.3252.243.camel@edumazet-glaptop>
On 06/18/2013 12:17 PM, Eric Dumazet wrote:
> On Tue, 2013-06-18 at 11:52 +0200, Daniel Borkmann wrote:
>> On 06/18/2013 10:48 AM, James Yonan wrote:
>> [...]
>>> This is a disaster from a performance perspective because you can't take a UDP server that
>> > binds to a single port and efficiently scale it up across multiple threads or processors
>> > because you must operate off a single socket.
>
> Well not with current linux ;)
>
>>> But this would be a huge performance win for UDP servers (I'm thinking about OpenVPN in
>> > particular) because making the kernel smarter about dispatching UDP datagrams would make it
>> > much easier to develop scalable UDP servers on Linux.
>
>>
>> So SO_REUSEPORT that was added in 3.9 by Tom Herbert wouldn't
>> help in your case (+ f.e. steering flows to CPUs locally) ?
>>
>> https://lwn.net/Articles/542629/
>
> Yes, but no need for particular steering.
>
> Incoming UDP message will match the 'connected socket' and will be
> delivered to the socket.
>
> RFS will then automatically do the right thing
> ( Documentation/networking/scaling.txt )
+1, this was what I meant. I should have been more specific. ;-)
> Note that if you have a lot of sockets bound to the same port,
> this fix is needed :
>
> http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=c87a124a5d5e8cf8e21c4363c3372bcaf53ea190
next prev parent reply other threads:[~2013-06-18 10:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 8:48 UDP "accept" proposed James Yonan
2013-06-18 9:52 ` Daniel Borkmann
2013-06-18 10:17 ` Eric Dumazet
2013-06-18 10:41 ` Daniel Borkmann [this message]
2013-06-18 9:54 ` David Laight
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51C03940.9020704@redhat.com \
--to=dborkman@redhat.com \
--cc=eric.dumazet@gmail.com \
--cc=james@openvpn.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.