[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C738636.4000107@fs.uni-ruse.bg>
Date: Tue, 24 Aug 2010 11:43:34 +0300
From: Plamen Petrov <pvp-lsts@...uni-ruse.bg>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: Jarek Poplawski <jarkao2@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
netdev@...r.kernel.org, bugzilla-daemon@...zilla.kernel.org,
bugme-daemon@...zilla.kernel.org
Subject: Re: [Bugme-new] [Bug 16626] New: Machine hangs with EIP at skb_copy_and_csum_dev
На 24.8.2010 г. 08:01, Eric Dumazet написа:
> Le mardi 24 août 2010 à 07:51 +0300, Plamen Petrov a écrit :
>> So far - not so good. :(
...
>
> Hmm... I was thinking adding a call __skb_linearize(), just in case...
>
> diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
> index f5166dc..10928a2 100644
> --- a/drivers/net/8139too.c
> +++ b/drivers/net/8139too.c
> @@ -1696,7 +1696,7 @@ static netdev_tx_t rtl8139_start_xmit (struct sk_buff *skb,
> entry = tp->cur_tx % NUM_TX_DESC;
>
> /* Note: the chip doesn't have auto-pad! */
> - if (likely(len< TX_BUF_SIZE)) {
> + if (likely(len< TX_BUF_SIZE&& !__skb_linearize(skb))) {
> if (len< ETH_ZLEN)
> memset(tp->tx_buf[entry], 0, ETH_ZLEN);
> skb_copy_and_csum_dev(skb, tp->tx_buf[entry]);
>
>
Here is what I've got while running the kernel with the patch
I attached earlier plus the above one, after turning GRO on for
my tg3 nic:
[picture 10]
http://picpaste.com/37e37f9ff9504e3a003f49092f9b1be6.jpg
[picture 11]
http://picpaste.com/5663ca7c5041c0ed7a1f3e6a9aa17a9e.jpg
[picture 12]
http://picpaste.com/17f2ecaa409a1ebbf835a2e0519d3099.jpg
Now moving on to the second proposed patch from Jarek.
Thanks,
Plamen
--
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