From: Dave Taht <dave.taht@gmail.com>
To: libreqos <libreqos@lists.bufferbloat.net>,
Gerhard Engleder <gerhard@engleder-embedded.com>
Subject: [LibreQoS] Fwd: [PATCH net-next 0/4] tsnep: Throttle irq, rotten pkts, RX buffer alloc and ethtool_get_channels()
Date: Thu, 17 Nov 2022 13:02:13 -0800 [thread overview]
Message-ID: <CAA93jw5tQmRRGBBCBfE+Xz87790E5Bei8PY6mC0ey3g1o3SPTw@mail.gmail.com> (raw)
In-Reply-To: <20221117201440.21183-1-gerhard@engleder-embedded.com>
time sensitive networking is a thing. Now less sensitive. At least on
this a53, an interrupt rate of 20us resulted in total cpu usage at a
gbit...
Taking a 7x hit in latency tho, to reduce the cpu load, strikes me as
a lot. dpdk would just spin-read here, vs a vs xdp.
"Without interrupt throttling, iperf server mode generates a CPU load of
100% (A53 1.2GHz). Also the throughput suffers with less than 900Mbit/s
on a 1Gbit/s link. The reason is a high interrupt load with interrupts
every ~20us.
Reduce interrupt load by throttling of interrupts. Interrupt delay is
configured statically to 64us. For iperf server mode the CPU load is
significantly reduced to ~20% and the throughput reaches the maximum of
941MBit/s. Interrupts are generated every ~140us."
---------- Forwarded message ---------
From: Gerhard Engleder <gerhard@engleder-embedded.com>
Date: Thu, Nov 17, 2022 at 12:40 PM
Subject: [PATCH net-next 0/4] tsnep: Throttle irq, rotten pkts, RX
buffer alloc and ethtool_get_channels()
To: <netdev@vger.kernel.org>
Cc: <davem@davemloft.net>, <kuba@kernel.org>, <edumazet@google.com>,
<pabeni@redhat.com>, Gerhard Engleder <gerhard@engleder-embedded.com>
Collection of improvements found during development of XDP support.
Hopefully the last patch series before the XDP support.
Fix of rotten packets increased CPU load and caused slight drop of iperf
performance, because CPU load was already at 100% before. This performance
drop is compensated with interrupt throttling, which makes sense anyway.
ethtool_get_channels() is needed for automatic TAPRIO configuration in
combination with multiple queues.
Rework of RX buffer allocation is prework of XDP. It ensures that packets
are only dropped if RX queue would otherwise run empty because of
failed allocations. So it should reduce the number of dropped packets
under low memory conditions.
Gerhard Engleder (4):
tsnep: Throttle interrupts
tsnep: Fix rotten packets
tsnep: Add ethtool get_channels support
tsnep: Rework RX buffer allocation
drivers/net/ethernet/engleder/tsnep.h | 4 +
drivers/net/ethernet/engleder/tsnep_ethtool.c | 19 ++
drivers/net/ethernet/engleder/tsnep_hw.h | 7 +
drivers/net/ethernet/engleder/tsnep_main.c | 252 +++++++++++++-----
4 files changed, 214 insertions(+), 68 deletions(-)
--
2.30.2
--
This song goes out to all the folk that thought Stadia would work:
https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz
Dave Täht CEO, TekLibre, LLC
next parent reply other threads:[~2022-11-17 21:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20221117201440.21183-1-gerhard@engleder-embedded.com>
2022-11-17 21:02 ` Dave Taht [this message]
2022-11-18 6:24 ` Gerhard Engleder
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
List information: https://lists.bufferbloat.net/postorius/lists/libreqos.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw5tQmRRGBBCBfE+Xz87790E5Bei8PY6mC0ey3g1o3SPTw@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=gerhard@engleder-embedded.com \
--cc=libreqos@lists.bufferbloat.net \
/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