[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b0c5b2164e90492c99752584070510d7@AcuMS.aculab.com>
Date: Wed, 13 Jan 2021 22:23:31 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Eric Dumazet' <eric.dumazet@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>
CC: netdev <netdev@...r.kernel.org>,
Eric Dumazet <edumazet@...gle.com>,
Alexander Duyck <alexanderduyck@...com>,
Paolo Abeni <pabeni@...hat.com>,
"Michael S . Tsirkin" <mst@...hat.com>,
Greg Thelen <gthelen@...gle.com>
Subject: RE: [PATCH net] net: avoid 32 x truesize under-estimation for tiny
skbs
From: Eric Dumazet
> Sent: 13 January 2021 16:18
>
> From: Eric Dumazet <edumazet@...gle.com>
>
> Both virtio net and napi_get_frags() allocate skbs
> with a very small skb->head
>
> While using page fragments instead of a kmalloc backed skb->head might give
> a small performance improvement in some cases, there is a huge risk of
> under estimating memory usage.
There is (or was last time I looked) also a problem with
some of the USB ethernet drivers.
IIRC one of the ASXnnnnnn (???) USB3 ones allocates 64k skb to pass
to the USB stack and then just lies about skb->truesize when passing
them into the network stack.
The USB hardware will merge TCP receives and put multiple ethernet
packets into a single USB message.
But single frames can end up in very big kernel memory buffers.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists