[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200705280016.02776.maxi@daemonizer.de>
Date: Mon, 28 May 2007 00:15:59 +0200
From: Maximilian Engelhardt <maxi@...monizer.de>
To: Michael Buesch <mb@...sch.de>
Cc: "linux-kernel" <linux-kernel@...r.kernel.org>,
"linux-wireless" <linux-wireless@...r.kernel.org>,
Stephen Hemminger <shemminger@...ux-foundation.org>,
Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
Jeff Garzik <jgarzik@...ox.com>,
Gary Zambrano <zambrano@...adcom.com>, netdev@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: b44: regression in 2.6.22 (resend)
On Sunday 27 May 2007, Michael Buesch wrote:
> On Sunday 27 May 2007 21:25:17 Maximilian Engelhardt wrote:
> > 2.6.21.1:
> > [ 5] local 192.168.1.2 port 58414 connected with 192.168.1.1 port 5001
> > [ 5] 0.0-60.6 sec 1.13 MBytes 157 Kbits/sec
> > [ 4] local 192.168.1.2 port 5001 connected with 192.168.1.1 port 57837
> > [ 4] 0.0-63.1 sec 2.82 MBytes 375 Kbits/sec
> >
> > 2.6.22-rc3:
> > [ 5] local 192.168.1.2 port 46557 connected with 192.168.1.1 port 5001
> > [ 5] 0.0-60.4 sec 58.9 MBytes 8.18 Mbits/sec
> > [ 4] local 192.168.1.2 port 5001 connected with 192.168.1.1 port 51633
> > [ 4] 0.0-63.1 sec 7.27 MBytes 967 Kbits/sec
>
> This is the diff between these two kernels.
> I'm not sure why you see a much better TX throughput here.
>
> Can you re-check to make sure it's not just some test-jitter?
>
2.6.21.1:
[ 5] local 192.168.1.2 port 54423 connected with 192.168.1.1 port 5001
[ 5] 0.0-60.3 sec 3.06 MBytes 426 Kbits/sec
[ 4] local 192.168.1.2 port 5001 connected with 192.168.1.1 port 41053
[ 4] 0.0-163.0 sec 130 MBytes 6.67 Mbits/sec
2.6.22-rc3:
[ 5] local 192.168.1.2 port 46002 connected with 192.168.1.1 port 5001
[ 5] 0.0-61.5 sec 84.0 MBytes 11.5 Mbits/sec
[ 4] local 192.168.1.2 port 5001 connected with 192.168.1.1 port 44379
[ 4] 0.0-93.8 sec 30.6 MBytes 2.74 Mbits/sec
For TX the iperf server reports the same values as the client (all values are
from the client) but for RX they are differen:
2.6.21.1: (iperf server log):
[ 5] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 54423
[ 5] 0.0-60.5 sec 3.06 MBytes 425 Kbits/sec
[ 5] local 192.168.1.1 port 41053 connected with 192.168.1.2 port 5001
[ 5] 0.0-63.1 sec 130 MBytes 17.2 Mbits/sec
2.6.22-rc3 (iperf server log):
[ 4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 46002
[ 4] 0.0-61.6 sec 84.0 MBytes 11.5 Mbits/sec
[ 4] local 192.168.1.1 port 44379 connected with 192.168.1.2 port 5001
[ 4] 0.0-63.3 sec 30.6 MBytes 4.06 Mbits/sec
I have no idea how iperf internally works and what can cause such different
results here.
>
> --- linux-2.6.21.1/drivers/net/b44.c 2007-05-27 22:58:01.000000000 +0200
> +++ linux-2.6.22-rc3/drivers/net/b44.c 2007-05-27 23:01:44.000000000 +0200
> @@ -825,12 +825,11 @@
> if (copy_skb == NULL)
> goto drop_it_no_recycle;
>
> - copy_skb->dev = bp->dev;
> skb_reserve(copy_skb, 2);
> skb_put(copy_skb, len);
> /* DMA sync done above, copy just the actual packet
> */ - memcpy(copy_skb->data, skb->data+bp->rx_offset,
> len); -
> + skb_copy_from_linear_data_offset(skb,
> bp->rx_offset, +
> copy_skb->data, len); skb = copy_skb;
> }
> skb->ip_summed = CHECKSUM_NONE;
> @@ -1007,7 +1006,8 @@
> goto err_out;
> }
>
> - memcpy(skb_put(bounce_skb, len), skb->data, skb->len);
> + skb_copy_from_linear_data(skb, skb_put(bounce_skb, len),
> + skb->len);
> dev_kfree_skb_any(skb);
> skb = bounce_skb;
> }
Download attachment "signature.asc " of type "application/pgp-signature" (190 bytes)
Powered by blists - more mailing lists