From: Jim Baxter > On 30/05/14 12:25, Jim Baxter wrote: > > On 29/05/14 20:04, Eric Dumazet wrote: > >> On Thu, 2014-05-29 at 18:12 +0100, Jim Baxter wrote: > >> > >> Note the patch is OK, but changelog a bit misleading ;) > >> > >> Kernel was not running out of memory, because truesize was correct. > >> > >> The problem here is that a frame was consuming more kernel memory than > >> really needed, so chances of hitting socket sk_rcvbuf limit was high. > >> > >> BTW : > >> #define NTB_OUT_SIZE 16384 > >> > >> alloc_skb(size) -> > >> kmalloc(16384 + sizeof(struct skb_shared_info)) -> > >> roundup() => 32768 > >> > >> So truesize of the skb was infact ~32KB, which is really insane indeed. > >> After your patch, its back to ~2KB > >> > >> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> > >> > >> > >> > > > > Thank you, I will clarify the description. > > > > Jim > > > > Hi Eric, > > Is this commit log more correct? > > > This fixes a problem with dropped packets over 16k CDC-NCM > when the connection is being heavily used. > > The issue was that the extracted frames cloned from the > received frame were consuming more memory than necessary > due to the truesize being ~32KB instead of ~2KB, this > meant there was a high chance of reaching the sk_rcvbuf > limit. s/due to/resulting in/ David > > Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> > Signed-off-by: Jim Baxter <jim_baxter@xxxxxxxxxx> > > Thank you, > Jim ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥