From: Michal Simek <michal.simek@amd.com>
To: Padmarao Begari <padmarao.begari@amd.com>,
u-boot@lists.u-boot-project.org
Cc: git@amd.com
Subject: Re: [PATCH 0/8] net: mrmac: Fix Rx packet loss on back-to-back frames
Date: Mon, 7 Sep 2026 08:57:27 +0200 [thread overview]
Message-ID: <f9799644-c1a2-4a1d-bd60-cf6609bec249@amd.com> (raw)
In-Reply-To: <20260820092623.1647844-1-padmarao.begari@amd.com>
On 8/20/26 11:25, Padmarao Begari wrote:
> The MRMAC Rx path drops frames when two arrive back to back. recv()
> always starts at rx_bd[0] and clears the status of both descriptors,
> and the status field is the only record that a frame arrived, so the
> second frame is lost without any error being reported. This shows up
> with multiple boards on a switch, where the extra traffic makes
> back-to-back arrivals common and network transfers time out.
>
> Fixing that needs an Rx ring the driver can index, so the series first
> makes the ring scalable and then fixes the bug:
>
> 1-3 Independent cleanups: check memalign() failures, give the
> driver its own Rx buffer pool instead of borrowing the shared
> net_rx_packets[], and read the link speed from the standard
> max-speed property.
>
> 4-6 Make the descriptor ring scale: index the contiguous BD blocks
> directly, build the Rx chain in a loop over RX_DESC, and
> program CURDESC only once the ring is complete in memory.
>
> 7 Track the descriptor to consume next in rx_bd_idx and take
> completion from the per-descriptor COMPLETE bit, so a
> descriptor goes back to hardware only after the network stack
> has read it.
>
> 8 Size the Rx ring from ETH_PACKETS_BATCH_RECV, so a full
> eth_rx() call can be served without hardware running out of
> descriptors.
>
> Padmarao Begari (8):
> net: mrmac: check memalign() return values
> net: mrmac: use a driver-owned RX buffer pool
> net: mrmac: switch to max-speed property
> net: mrmac: use contiguous BD arrays
> net: mrmac: initialize the Rx BD ring in a loop
> net: mrmac: write CURDESC after ring setup
> net: mrmac: fix Rx packet loss on back-to-back frames
> net: mrmac: increase the Rx BD ring
>
> drivers/net/xilinx_axi_mrmac.c | 235 +++++++++++++++++----------------
> drivers/net/xilinx_axi_mrmac.h | 20 ++-
> 2 files changed, 137 insertions(+), 118 deletions(-)
>
Applied.
M
prev parent reply other threads:[~2026-09-07 6:57 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 9:25 [PATCH 0/8] net: mrmac: Fix Rx packet loss on back-to-back frames Padmarao Begari
2026-08-20 9:25 ` [PATCH 1/8] net: mrmac: check memalign() return values Padmarao Begari
2026-08-20 9:25 ` [PATCH 2/8] net: mrmac: use a driver-owned RX buffer pool Padmarao Begari
2026-08-20 9:25 ` [PATCH 3/8] net: mrmac: switch to max-speed property Padmarao Begari
2026-08-20 9:25 ` [PATCH 4/8] net: mrmac: use contiguous BD arrays Padmarao Begari
2026-08-20 9:25 ` [PATCH 5/8] net: mrmac: initialize the Rx BD ring in a loop Padmarao Begari
2026-08-20 9:25 ` [PATCH 6/8] net: mrmac: write CURDESC after ring setup Padmarao Begari
2026-08-20 9:25 ` [PATCH 7/8] net: mrmac: fix Rx packet loss on back-to-back frames Padmarao Begari
2026-08-20 9:25 ` [PATCH 8/8] net: mrmac: increase the Rx BD ring Padmarao Begari
2026-08-20 10:28 ` [PATCH 0/8] net: mrmac: Fix Rx packet loss on back-to-back frames Peter Robinson
2026-08-20 11:17 ` Begari, Padmarao
2026-09-07 6:57 ` Michal Simek [this message]
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=f9799644-c1a2-4a1d-bd60-cf6609bec249@amd.com \
--to=michal.simek@amd.com \
--cc=git@amd.com \
--cc=padmarao.begari@amd.com \
--cc=u-boot@lists.u-boot-project.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.