[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <428dae2552915c42b9144d7489fd912493433c1e.camel@redhat.com>
Date: Mon, 07 Sep 2020 19:18:48 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Dust Li <dust.li@...ux.alibaba.com>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] net/sock: don't drop udp packets if udp_mem[2] not
reached
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
Powered by blists - more mailing lists