From: Jakub Kicinski <kuba@kernel.org>
To: James Yonan <james@openvpn.net>
Cc: netdev@vger.kernel.org, therbert@google.com, stephen@networkplumber.org
Subject: Re: [PATCH net-next v2] rfs: added /proc/sys/net/core/rps_allow_ooo flag to tweak flow alg
Date: Tue, 28 Jun 2022 10:03:11 -0700 [thread overview]
Message-ID: <20220628100126.5a906259@kicinski-fedora-PC1C0HJN> (raw)
In-Reply-To: <20220628051754.365238-1-james@openvpn.net>
On Mon, 27 Jun 2022 23:17:54 -0600 James Yonan wrote:
> rps_allow_ooo (0|1, default=0) -- if set to 1, allow RFS (receive flow
> steering) to move a flow to a new CPU even if the old CPU queue has
> pending packets. Note that this can result in packets being delivered
> out-of-order. If set to 0 (the default), the previous behavior is
> retained, where flows will not be moved as long as pending packets remain.
>
> The motivation for this patch is that while it's good to prevent
> out-of-order packets, the current RFS logic requires that all previous
> packets for the flow have been dequeued before an RFS CPU switch is made,
> so as to preserve in-order delivery. In some cases, on links with heavy
> VPN traffic, we have observed that this requirement is too onerous, and
> that it prevents an RFS CPU switch from occurring within a reasonable time
> frame if heavy traffic causes the old CPU queue to never fully drain.
>
> So rps_allow_ooo allows the user to select the tradeoff between a more
> aggressive RFS steering policy that may reorder packets on a CPU switch
> event (rps_allow_ooo=1) vs. one that prioritizes in-order delivery
> (rps_allow_ooo=0).
Can you give a practical example where someone would enable this?
What is the traffic being served here that does not care about getting
severely chopped up? Also why are you using RPS, it's 2022, don't all
devices of note have multi-queue support?
next prev parent reply other threads:[~2022-06-28 17:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-24 16:54 [PATCH net-next] rfs: added /proc/sys/net/core/rps_allow_ooo flag to tweak flow alg James Yonan
2022-06-24 17:05 ` Stephen Hemminger
2022-06-28 5:17 ` [PATCH net-next v2] " James Yonan
2022-06-28 17:03 ` Jakub Kicinski [this message]
2022-06-28 23:49 ` James Yonan
2022-07-11 20:38 ` James Yonan
2022-07-11 20:44 ` Jakub Kicinski
2022-06-28 17:16 ` Jakub Kicinski
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=20220628100126.5a906259@kicinski-fedora-PC1C0HJN \
--to=kuba@kernel.org \
--cc=james@openvpn.net \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
--cc=therbert@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox