zephyr/subsys/net/lib
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
..
capture net: Change the net_linkaddr struct to not use pointers 2025-03-17 16:25:22 +01:00
coap net: coap_client: Stop lifetime on piggybacked Ack 2025-03-07 20:01:26 +01:00
config
dhcpv4 net: dhcpv4: fix deadlock issue 2025-03-07 20:22:58 +01:00
dhcpv6 net: dhcpv6: Add support for DNS Recursive Name Server option 2025-02-12 20:19:26 +01:00
dns net: mdns: adding MDNS unicast response confirm rfc6732 2025-03-13 16:54:24 +00:00
http net: http: Add compression support in HTTP server 2025-03-07 20:19:44 +01:00
lwm2m net: lwm2m: Call the lwm2m_send_cb callback on context close 2025-03-17 13:57:31 +01:00
mqtt
mqtt_sn net: mqtt-sn: Wait for register & subscribe to complete 2025-02-11 11:44:52 +00:00
prometheus net: prometheus: Add way to format output by a metric 2024-11-26 15:42:40 -05:00
ptp ptp: clock.c: revise offset calculation 2025-02-21 18:35:34 +00:00
shell net: Change the net_linkaddr struct to not use pointers 2025-03-17 16:25:22 +01:00
sntp net: lib: sntp: async query API 2025-03-07 19:51:40 +01:00
sockets net: Change the net_linkaddr struct to not use pointers 2025-03-17 16:25:22 +01:00
socks
tftp
tls_credentials net: tls_credentials: Do not free slot when cred buf is NULL 2025-01-28 09:51:43 +01:00
trickle net: trickle: Remove useless asserts 2024-12-10 11:09:25 +01:00
utils
websocket net: websocket: don't mask data sent from server via zvfs write 2025-01-03 13:26:43 +01:00
wifi_credentials secure_storage: add a global registry header file for PSA key IDs 2025-02-13 20:22:09 +01:00
zperf net: lib: zperf: improve UDP RX throughput 2025-03-19 10:58:16 +01:00
CMakeLists.txt
Kconfig