[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADZJnBbMmE-zktRyq-gZWPuEOHRLyuQRmheqKP1_HWuHRymK0g@mail.gmail.com>
Date: Wed, 22 Sep 2021 01:48:36 -0700
From: John Smith <4eur0pe2006@...il.com>
To: netdev@...r.kernel.org
Subject: stmmac: Disappointing or normal DMA performance?
I have a one-way 300Mbs traffic RGMII arriving at a stmmac version
3.7, in the form of 30000 1280-byte frames per second, evenly spread.
In NAPI poll mode, at each DMA interrupt, I get around 10 frames. More
precisely:
In stmmac_rx of stmmac_main.c:
static int stmmac_rx(struct stmmac_priv *priv, int limit) {
...
while (count < limit)
count is around 10 when NAPI limit/weight is 64. It means that I get
3000 DMA IRQs per second for my 30000 packets.
I have tried different settings but I can't do anything better.
"Better" meaning that I would like to have fewer interrupts per
second, so a higher number of frames on each interrupt in order to
minimize the load transferred to my CPU.
Everything else being the same, if I send 10000 1280x3=3840-byte
frames per second, I get around 3 or 4 frames per interrupt.
Is there a way to increase the ratio of packets / IRQs? I want fewer
IRQs with more packets as the current performance overloads my
embedded chip,
John
Powered by blists - more mailing lists