Hi, On Mon, 2020-09-07 at 22:44 +0800, Dust Li wrote: > We encoutered udp packets drop under a pretty low pressure > with net.ipv4.udp_mem[0] set to a small value (4096). > > After some tracing and debugging, we found that for udp > protocol, __sk_mem_raise_allocated() will possiblly drop > packets if: > udp_mem[0] < udp_prot.memory_allocated < udp_mem[2] > > That's because __sk_mem_raise_allocated() didn't handle > the above condition for protocols like udp who doesn't > have sk_has_memory_pressure() > > We can reproduce this with the following condition > 1. udp_mem[0] is relateive small, > 2. net.core.rmem_default/max > udp_mem[0] * 4K
This looks like something that could/should be addressed at configuration level ?!? udp_mem[0] should accomodate confortably at least a socket. Cheers, Paolo