075eb6a6d2
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> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Kconfig | ||
Make.defs | ||
tcp_accept.c | ||
tcp_appsend.c | ||
tcp_backlog.c | ||
tcp_callback.c | ||
tcp_cc.c | ||
tcp_close.c | ||
tcp_conn.c | ||
tcp_connect.c | ||
tcp_devpoll.c | ||
tcp_dump.c | ||
tcp_finddev.c | ||
tcp_getsockopt.c | ||
tcp_input.c | ||
tcp_ioctl.c | ||
tcp_ipselect.c | ||
tcp_listen.c | ||
tcp_monitor.c | ||
tcp_netpoll.c | ||
tcp_notifier.c | ||
tcp_recvfrom.c | ||
tcp_recvwindow.c | ||
tcp_send_buffered.c | ||
tcp_send_unbuffered.c | ||
tcp_send.c | ||
tcp_sendfile.c | ||
tcp_seqno.c | ||
tcp_setsockopt.c | ||
tcp_shutdown.c | ||
tcp_timer.c | ||
tcp_txdrain.c | ||
tcp_wrbuffer.c | ||
tcp.h |