>-----Original Message----- >From: Eric Dumazet <eric.duma...@gmail.com> >Sent: Tuesday, November 3, 2020 8:16 PM >To: Vladimir Oltean <olte...@gmail.com>; Claudiu Manoil ><claudiu.man...@nxp.com> >Cc: Jakub Kicinski <k...@kernel.org>; netdev@vger.kernel.org; David S . >Miller <da...@davemloft.net>; james.jur...@ametek.com >Subject: Re: [PATCH net v2 1/2] gianfar: Replace skb_realloc_headroom with >skb_cow_head for PTP > > > >On 11/3/20 6:49 PM, Vladimir Oltean wrote: >> On Tue, Nov 03, 2020 at 05:41:36PM +0000, Claudiu Manoil wrote: >>> This is the patch: >>> [...] >>> >>> are you sure you have it applied? >> >> Actually? No, I didn't have it applied... I had thought that net had >> been already merged into net-next, for some reason :-/ >> Let me run the test for a few more tens of minutes with the patch >> applied. >> > >I find strange that the local TCP traffic can end up calling >skb_realloc_headromm() in the old kernels. > >Normally TCP reserves a lot of bytes for headers. > >#define MAX_TCP_HEADER L1_CACHE_ALIGN(128 + MAX_HEADER) > >It should accommodate the gianfar needs for additional 24 bytes, >even if LL_MAX_HEADER is 32 in your kernel build perhaps. >
Hi, The PTP packets need extra headroom and get reallocated, not TCP packets. However if TCP streams are sent concurrently with PTP packets, and skb_realloc_headroom() is used to reallocate PTP packets, we get these crashes. If skb_cow_head() is used instead there's no crash.