RE: [PATCH v1 3/3] usb: gadget: NCM: Stop RX TCP Bursts getting dropped.

From: David Laight
Date: Thu Jun 12 2014 - 05:43:59 EST


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