zephyr/subsys/net
Maochen Wang cb65dfbd2b net: lib: zperf: improve UDP RX throughput
The original flow of socket_service thread handling the Zperf UDP RX
packets is: zsock_poll() polls all sockets for events, if ctx->recv_q
of Zperf is not empty, it will call trigger_work() -> udp_recv_data()
-> zsock_recvfrom() to read only one UDP packet from ctx->recv_q, then
go back to zsock_poll() and run the same process again, which is
inefficient.
The alternative solution is, in udp_recv_data(), it should exhaust all
the packets in the current ctx->recv_q, and then go back to
zsock_poll() to run the same process again.
In our Wi-Fi test case, for WPA3 security mode of 5GHz, the STA UDP RX
throughput can be improved from 91.48 Mbps to 99.87 Mbps, the SAP UDP
RX throughput can be improved from 85.97 Mbps to 96.00 Mbps.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-03-19 10:58:16 +01:00
..
conn_mgr cmake: linker: evaluate CONFIG_LINKER_ITERABLE_SUBALIGN in CMake 2024-09-25 16:16:35 -05:00
ip net: ip: Configurable IPv4 MTU 2025-03-19 03:34:26 +01:00
l2 net: l2: ppp: Make PPP L2 work with packet sockets 2025-03-18 16:45:53 +01:00
lib net: lib: zperf: improve UDP RX throughput 2025-03-19 10:58:16 +01:00
pkt_filter net: pkt_filter: Introduce additional hooks for pkt_filter 2023-07-10 09:27:47 +02:00
CMakeLists.txt net: silence no sources cmake warning 2024-10-18 14:14:56 +02:00
hostname.c net: hostname: Add a function to set the hostname postfix as is. 2024-07-28 07:28:51 +03:00
Kconfig lib: net_buf: move the network buffer implementation to lib 2024-09-07 11:19:05 -05:00
Kconfig.hostname net: add set hostname function 2024-01-17 14:42:58 +01:00
Kconfig.template.log_config.default.net
Kconfig.template.log_config.net net: Give name to logging choice 2024-09-30 12:10:42 +01:00