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 | ||
udp_callback.c | ||
udp_close.c | ||
udp_conn.c | ||
udp_devpoll.c | ||
udp_finddev.c | ||
udp_input.c | ||
udp_ioctl.c | ||
udp_ipselect.c | ||
udp_netpoll.c | ||
udp_notifier.c | ||
udp_recvfrom.c | ||
udp_send.c | ||
udp_sendto_buffered.c | ||
udp_sendto_unbuffered.c | ||
udp_setsockopt.c | ||
udp_txdrain.c | ||
udp_wrbuffer_dump.c | ||
udp_wrbuffer.c | ||
udp.h |