From: Jeremy Harris <jeharris@redhat.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, jgh@redhat.com
Subject: Re: [RFC PATCH net-next 0/7] NIC driver Rx ring ECN
Date: Thu, 19 Jan 2023 17:05:55 +0000 [thread overview]
Message-ID: <ee84e51b-e41d-9613-fac7-42fa58a1f7ac@redhat.com> (raw)
In-Reply-To: <20230112160900.5fdb5b20@kernel.org>
On 13/01/2023 00:09, Jakub Kicinski wrote:
> It may be cool if we can retrofit some second-order signal into
> the time-based machinery. The problem is that we don't actually
> have any time-based machinery upstream, yet :(
> And designing interfaces for a decade-old HW seems shortsighted.
>
>>> Host level congestion is better detected using time / latency signals.
>>> Timestamp the packet at the NIC and compare the Rx time to current time
>>> when processing by the driver.
>>>
>>> Google search "Google Swift congestion control".
> Grep for HWTSTAMP_FILTER_ALL, there's HW out there.
OK.
>> - does not address Rx drops due to Rx ring-buffer overflow
>
> It's a stronger signal than "continuous run of packets".
> You can have a standing queue of 2 packets, and keep processing
> for ever. There's no congestion, or overload. You'd see that
> timestamps are recent.
Agreed. That's why marking at a proportion of ring-fill approaching
100% was my "preferred" implementation. But if the current situation
with NIC API design makes that commonly impractical, I guess it's
a dead duck.
> I experimented last year with implementing CoDel on the input queues,
> worked pretty well (scroll down ~half way):
>
> https://developers.facebook.com/blog/post/2022/04/25/investigating-tcp-self-throttling-triggered-overload/
That looks nice. Are there any plans to get that upstream?
--
Cheers,
Jeremy
next prev parent reply other threads:[~2023-01-19 17:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-11 14:34 [RFC PATCH net-next 0/7] NIC driver Rx ring ECN jgh
2023-01-11 14:34 ` [RFC PATCH 1/7] net: NIC driver Rx ring ECN: skbuff and tcp support jgh
2023-01-11 14:34 ` [RFC PATCH 2/7] net: NIC driver Rx ring ECN: stats counter jgh
2023-01-11 14:34 ` [RFC PATCH 3/7] drivers: net: xgene: NIC driver Rx ring ECN jgh
2023-01-11 14:34 ` [RFC PATCH 4/7] drivers: net: bnx2x: " jgh
2023-01-11 14:34 ` [RFC PATCH 5/7] " jgh
2023-01-11 14:34 ` [RFC PATCH 6/7] drivers: net: bnx2: " jgh
2023-01-11 14:34 ` [RFC PATCH 7/7] " jgh
2023-01-11 18:46 ` [RFC PATCH net-next 0/7] " Jakub Kicinski
2023-01-12 14:06 ` Jeremy Harris
2023-01-13 0:09 ` Jakub Kicinski
2023-01-19 17:05 ` Jeremy Harris [this message]
2023-01-19 17:20 ` 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=ee84e51b-e41d-9613-fac7-42fa58a1f7ac@redhat.com \
--to=jeharris@redhat.com \
--cc=jgh@redhat.com \
--cc=kuba@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).