From: Brian Bloniarz <bmb@athenacr•com>
To: Eric Dumazet <eric.dumazet@gmail•com>
Cc: David Miller <davem@davemloft•net>,
therbert@google•com, netdev@vger•kernel.org, rick.jones2@hp•com
Subject: Re: [PATCH] bnx2x: add support for receive hashing
Date: Tue, 27 Apr 2010 11:44:43 -0400 [thread overview]
Message-ID: <4BD7066B.9070507@athenacr.com> (raw)
In-Reply-To: <1272378659.2295.193.camel@edumazet-laptop>
Eric Dumazet wrote:
> Le mardi 27 avril 2010 à 09:37 -0400, Brian Bloniarz a écrit :
>> David Miller wrote:
>>> How damn hard is it to add two 16-bit ports to the hash regardless of
>>> protocol?
>>>
>> Come to think of it, for UDP the hash must ignore
>> the srcport and srcaddr, because a single bound
>> socket is going to wildcard both those fields.
>>
>
> For your application maybe ;)
>
> Here, I have thousand of RTP flows to big mediagateways, so the
> (srcaddr, dstaddr) is shared by all these flows.
>
> Tom Herbert also wants a threaded DNS server.
>
> For UDP, we could have a bitmap (system level ?) to say if a particular
> destination port wants multi-cpu (RPS) spreading or not, even if the NIC
> decided to use a single queue to submit frames to the host (ie mask the
> src_addr and src_port). In this case, RFS on non conected UDP sockets
> could be activated as well.
>
> Or just a global sysctl to be able to mask the src_addr and/or src_port
> in our software rxhash.
This is all good to know. Here are 3 other alternatives/suggestions:
1) Leave things as they are, if it really hurts that badly
for our workload we can just disable RPS entirely.
2) Add a global sysctl to disable RPS for datagram-based protocols.
3) Pluggable SW rxhashes :)
I haven't benchmarked anything for our workloads yet, so
I can't say for sure it's even a big issue.
Has anyone benchmarked RPS + single-threaded DNS servers? It'd
be a pessimization in that case, right? Even the multi-threaded
DNS server wouldn't be workable unless there was something like
the soreuseport patch you & Tom had been been discussing.
next prev parent reply other threads:[~2010-04-27 15:44 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-23 5:54 [PATCH] bnx2x: add support for receive hashing Tom Herbert
2010-04-23 7:11 ` David Miller
2010-04-26 17:20 ` Eric Dumazet
2010-04-26 17:38 ` Tom Herbert
2010-04-26 17:47 ` Ben Hutchings
2010-04-26 17:56 ` David Miller
2010-04-26 18:04 ` David Miller
2010-04-26 18:19 ` Tom Herbert
2010-04-26 18:22 ` David Miller
2010-04-26 20:19 ` Rick Jones
2010-04-26 20:40 ` David Miller
2010-04-26 20:48 ` Rick Jones
2010-04-26 20:53 ` David Miller
2010-04-26 21:12 ` Rick Jones
2010-04-27 18:31 ` Eilon Greenstein
2010-04-27 19:30 ` Eric Dumazet
2010-04-26 20:58 ` Stephen Hemminger
2010-04-26 21:11 ` jamal
2010-04-26 21:14 ` jamal
2010-04-26 23:27 ` Brian Bloniarz
2010-04-27 13:37 ` Brian Bloniarz
2010-04-27 14:30 ` Eric Dumazet
2010-04-27 15:44 ` Brian Bloniarz [this message]
2010-04-27 16:51 ` David Miller
2010-04-27 17:02 ` Brian Bloniarz
2010-04-27 17:06 ` David Miller
2010-04-27 17:13 ` Eric Dumazet
2010-04-27 17:20 ` David Miller
2010-04-27 17:37 ` Eric Dumazet
2010-04-27 20:21 ` [PATCH net-next-2.6] net: sk_add_backlog() take rmem_alloc into account Eric Dumazet
2010-04-27 21:43 ` David Miller
2010-04-27 22:11 ` David Miller
2010-04-27 22:19 ` Eric Dumazet
2010-04-28 15:41 ` Brian Bloniarz
2010-04-28 15:52 ` Eric Dumazet
2010-04-27 17:31 ` [PATCH] bnx2x: add support for receive hashing Tom Herbert
2010-04-27 17:36 ` Eric Dumazet
2010-07-04 16:36 ` Vladislav Zolotarov
2010-07-04 16:46 ` Vladislav Zolotarov
2010-07-06 7:16 ` Vladislav Zolotarov
2010-07-07 19:17 ` Tom Herbert
2010-07-08 8:40 ` Vladislav Zolotarov
2010-07-11 2:12 ` David Miller
2010-07-11 10:02 ` Vladislav Zolotarov
2010-07-11 13:16 ` Vladislav Zolotarov
2010-07-11 16:45 ` Eric Dumazet
2010-07-11 17:22 ` Vladislav Zolotarov
2010-07-11 17:41 ` Eric Dumazet
2010-07-11 18:18 ` Vladislav Zolotarov
2010-07-11 22:34 ` David Miller
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=4BD7066B.9070507@athenacr.com \
--to=bmb@athenacr$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=rick.jones2@hp$(echo .)com \
--cc=therbert@google$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox