nuttx/arch/arm
raul_chen 4a69d77b38 arch/arm/ameba: tune WHC Wi-Fi TCP throughput on both boards
Tune the TCP stack and driver resources for the WHC Wi-Fi data path on both
rtl8720f_evb and pke8721daf (NuttX runs on the application core; the Wi-Fi MAC
runs on a companion core reached over an on-chip IPC):

- Cap the advertised TCP receive window (NET_RECV_BUFSIZE=10000) to about the
  out-of-order reassembly capacity and bound in-flight TX
  (NET_SEND_BUFSIZE=16384).  The stock unbounded window/queue let the peer and
  the local stack burst far more than the Wi-Fi path can smooth, causing
  bursty loss/reordering and RTO stalls (RX), and starving incoming-ACK
  processing so the peer window collapses and spurious retransmits tear the
  link down (TX).
- Keep out-of-order reassembly (NET_TCP_OUT_OF_ORDER) but disable selective
  ACK.  PR #19353 enabled NET_TCP_SELECTIVE_ACK on both boards; on the lossy
  Wi-Fi TX path the sender-side selective-ACK recovery does not reliably
  repair multi-segment holes and stalls TX, so NewReno with out-of-order
  reassembly is used instead -- same steady-state throughput, robust recovery.
- Widen IOB buffers to 512 bytes; the window and out-of-order buffers draw
  from the shared IOB pool at run time and add no static memory.
- Drop the busy-wait retry in the transmit path (the send-buffer cap makes it
  dead code) and lower the forced host TX skb count (skb_num_ap) to 8, which
  covers the NP's transient TX backlog without over-reserving AP heap.

Signed-off-by: raul_chen <raul_chen@realsil.com.cn>
2026-07-13 11:53:26 +02:00
..
include arch/arm: add Realtek RTL8721Dx and RTL8720F (Ameba WHC) support 2026-07-01 09:18:06 -03:00
src arch/arm/ameba: tune WHC Wi-Fi TCP throughput on both boards 2026-07-13 11:53:26 +02:00
CMakeLists.txt
Kconfig arch/arm: add Realtek RTL8721Dx and RTL8720F (Ameba WHC) support 2026-07-01 09:18:06 -03:00