nuttx/net/tcp
Zhe Weng 075eb6a6d2 net/udp: Change conn->readahead to I/O buffer chain
When using IOB queue to store readahead data, we use one IOB for each
UDP packet. Then if the packets are very small, like 10Bytes per packet,
we'll use ~1600 IOBs just for 16KB recv buffer size, which is wasteful
and dangerous. So change conn->readahead to a single IOB chain like TCP.

Benefits:
- Using memory and IOBs more efficiently (small packets are common in
  UDP)

Side effects:
- UDP recv buffer size may count the overhead
- A little bit drop in performance (<1%, more seek & copy)

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-18 10:51:45 +08:00
..
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig net: Rename tcp_dataconcat to net_iob_concat 2023-07-18 10:51:45 +08:00
Make.defs net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_accept.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_appsend.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_backlog.c tcp_input: drop SYN when no free node in the backlog 2023-04-24 01:52:33 +08:00
tcp_callback.c net: Rename tcp_dataconcat to net_iob_concat 2023-07-18 10:51:45 +08:00
tcp_cc.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_close.c net/tcp: Add flag for tcp_close to avoid double free 2023-05-29 13:00:06 +02:00
tcp_conn.c net/semantic/parser: fix compile warning found by sparse 2023-05-30 23:00:00 +08:00
tcp_connect.c net/tcp: remove conn check since which can not be NULL 2023-02-02 13:31:06 +08:00
tcp_devpoll.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_dump.c
tcp_finddev.c net: modify find device logic 2023-02-12 01:25:34 +08:00
tcp_getsockopt.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_input.c net: Rename tcp_dataconcat to net_iob_concat 2023-07-18 10:51:45 +08:00
tcp_ioctl.c
tcp_ipselect.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_listen.c
tcp_monitor.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_netpoll.c tcp_input: drop SYN when no free node in the backlog 2023-04-24 01:52:33 +08:00
tcp_notifier.c Typo fixes. 2023-02-17 11:17:11 -03:00
tcp_recvfrom.c net: Add msg_peek support for udp and tcp 2023-07-13 19:40:04 +08:00
tcp_recvwindow.c
tcp_send_buffered.c net: Fix task block when devif_send fails. 2023-06-01 17:05:54 +08:00
tcp_send_unbuffered.c net: Fix task block when devif_send fails. 2023-06-01 17:05:54 +08:00
tcp_send.c net: move ttl field into socket_conn_s struct 2023-05-13 12:39:53 +08:00
tcp_sendfile.c net/sendfile: adapt sendfile() to support new driver model 2023-02-14 11:21:09 +08:00
tcp_seqno.c
tcp_setsockopt.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_shutdown.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_timer.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_txdrain.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_wrbuffer.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp.h net/udp: Change conn->readahead to I/O buffer chain 2023-07-18 10:51:45 +08:00