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 | ||
| net_mld.c | ||
| net_procfs.c | ||
| net_procfs_route.c | ||
| net_statistics.c | ||
| net_tcp.c | ||
| net_udp.c | ||
| netdev_statistics.c | ||
| procfs.h | ||