[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5035020E.5040806@lwfinger.net>
Date: Wed, 22 Aug 2012 11:00:14 -0500
From: Larry Finger <Larry.Finger@...inger.net>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: Neal Cardwell <ncardwell@...gle.com>,
"David S. Miller" <davem@...emloft.net>,
John W Linville <linville@...driver.com>,
linux-wireless <linux-wireless@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: Regression associated with commit c8628155ece3 - "tcp: reduce
out_of_order memory use"
On 08/22/2012 12:15 AM, Eric Dumazet wrote:
>
> This particular commit is the start of a patches batch that ended in the
> generic TCP coalescing mechanism.
>
> It is known to have problem on drivers doing skb_clone() in their rx
> path.
>
> Current kernels should be ok, because coalescing doesnt happen if the
> destination skb is cloned (skb_cloned(to) in skb_try_coalesce())
>
> For 3.4 kernel, I guess I need to backport this skb_cloned(to) check fo
> stable 3.4 kernel
>
> But these skb_clone() in various USB drivers should be killed for good,
> they really can kill the box because of skb->truesize lies.
Applying your patch to 3.4 does not fix the problem. In addition, all of the
problems I noted happen with 3.6-rc2 - current kernels are not OK.
Of the drivers I reported, only r8712u in staging/rtl8712/rtl8712_recv.c has a
direct call to skb_clone(). As its symptoms are different, the cloning is likely
the source of the problems there. In addition, the problem is intermittent. The
driver normally allocates a new buffer and copies to it, and the clone only
occurs when that skb allocation fails. I will try to fix that. My skb skills are
minimal and I will have to do some studying.
Thanks,
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists