[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130110072136.GK9943@1wt.eu>
Date: Thu, 10 Jan 2013 08:21:36 +0100
From: Willy Tarreau <w@....eu>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Christian Becker <c.becker@...viangames.com>,
David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: tainted warnings with tcp splicing in 3.7.1
On Wed, Jan 09, 2013 at 10:59:09PM -0800, Eric Dumazet wrote:
> From: Eric Dumazet <edumazet@...gle.com>
>
> On Wed, 2013-01-09 at 09:09 -0800, Eric Dumazet wrote:
>
> > My feeling is that tcp_recv_skb() should eat skbs instead of only
> > finding the right one
> >
>
> Thats indeed the case.
>
> > Thats because skb_splice_bits() releases the socket lock before calling
> > splice_to_pipe()
> >
> > Once socket is released, other incoming TCP frames can be processed, and
> > the skb we are actually processing might be 'collapsed' into smaller
> > units.
> >
> > Christian, if I send you patches, are you OK to test them ?
> >
> >
>
> Here is the patch fixing this issue.
>
> Thanks a lot for your report, this is a very very old bug.
>
> GRO being more deployed, and with TCP coalescing as well, chances to
> trigger this bug increased a lot.
>
> To reproduce it, I had to force MSS=400 and stress the receiver,
> adding extra delays in skb_splice_bits() with socket lock being not
> held.
FWIW, I tested your patch here and did not notice any regression
compared to last week-end tests, at various MTU size combinations.
Cheers,
Willy
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists