Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-09-04 Thread Ben Hutchings
On Wed, 2011-08-31 at 01:13 +0300, Faidon Liambotis wrote:
 On Fri, Aug 26, 2011 at 01:10:25AM +0300, Faidon Liambotis wrote:
  After talking with Ben on IRC, I've prepared and sent a -longterm tree
  submission for the two commits. I'll update the bug report when I get a
  reply.
 
 I just got a reply that the patches were accepted to the stable review
 queue.

Also queued for 2.6.32-36, in case we release that before the next
longterm update.

Ben.



signature.asc
Description: This is a digitally signed message part


Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-08-30 Thread Faidon Liambotis
On Fri, Aug 26, 2011 at 01:10:25AM +0300, Faidon Liambotis wrote:
 After talking with Ben on IRC, I've prepared and sent a -longterm tree
 submission for the two commits. I'll update the bug report when I get a
 reply.

I just got a reply that the patches were accepted to the stable review
queue.

Regards,
Faidon



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-08-25 Thread Faidon Liambotis
forwarded 630730 sta...@kernel.org
thanks

On Thu, Jul 28, 2011 at 04:48:58PM +0200, Faidon Liambotis wrote:
 What's the status of this? Have the patches been forwarded to -longterm
 maintainers? (is that Greg KH?); if not, I'd be happy to do it for you.

After talking with Ben on IRC, I've prepared and sent a -longterm tree
submission for the two commits. I'll update the bug report when I get a
reply.

Thanks,
Faidon



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-07-28 Thread Faidon Liambotis
On Tue, Jun 21, 2011 at 08:32:04PM -0700, David Miller wrote:
 From: Ben Hutchings b...@decadent.org.uk
 Date: Wed, 22 Jun 2011 04:20:13 +0100
 
  David, these look like good candidates for longterm updates.  What do
  you think?
 
 Sure but I don't do submissions for the longterm stuff, I only
 work on the -stable trees that Greg is actively maintaining.

What's the status of this? Have the patches been forwarded to -longterm
maintainers? (is that Greg KH?); if not, I'd be happy to do it for you.

Best regards,
Faidon



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-06-21 Thread Ben Hutchings
On Thu, 2011-06-16 at 19:49 +0300, Apollon Oikonomopoulos wrote:
 Package: linux-2.6
 Version: 2.6.32-34squeeze1
 Severity: normal
 Tags: patch
 
 Hi,
 
 While performing stress testing on a KVM instance with IPv6, we noticed very
 poor performance on IPv6 TCP connections, which basically came down to the bug
 fixed by upstream commit 8e1e8a4779cb23c1d9f51e9223795e07ec54d77a[1]. Both, 
 the
 host and the guest were running 2.6.32-5-amd64 2.6.32-31 and the host featured
 Intel NICs, using e1000e and igb. SSH sessions to the guest from outside would
 effectively stall when large output was generated (e.g. ls -lR /) and 
 the problem would disappear when disabling virtio_net's gso (modprobe 
 virtio_net gso=0) or disabling the host's TSO using ethtool.
 
 Furthermore, while trying to reproduce the behaviour on another system, we
 triggered the bug fixed by commit 0aa68271510ae2b221d4b60892103837be63afe4[2],
 i.e. a routed (not bridged) KVM instance using virtio-net would not get its 
 GSO
 IPv6 packets forwarded to the network, with the same poor performance as 
 above.

David, these look like good candidates for longterm updates.  What do
you think?

Ben.

 After backporting and applying both patches to squeeze's version, IPv6 
 performance was restored to the same levels as IPv4 in both cases. You 
 can find the backported versions of the patches attached.
 
 Thanks,
 Apollon
 
 [1] 
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8e1e8a4779cb23c1d9f51e9223795e07ec54d77a
 [2] 
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0aa68271510ae2b221d4b60892103837be63afe4
 
 
 -- Package-specific info:
 ** Version:
 Linux version 2.6.32-5-amd64 (Debian 2.6.32-31) (b...@decadent.org.uk) (gcc 
 version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Mar 7 21:35:22 UTC 2011
 
 ** Command line:
 BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=/dev/mapper/linux-root ro
 
 ** Not tainted

-- 
Ben Hutchings
I'm always amazed by the number of people who take up solipsism because
they heard someone else explain it. - E*Borg on alt.fan.pratchett


signature.asc
Description: This is a digitally signed message part


Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-06-21 Thread David Miller
From: Ben Hutchings b...@decadent.org.uk
Date: Wed, 22 Jun 2011 04:20:13 +0100

 David, these look like good candidates for longterm updates.  What do
 you think?

Sure but I don't do submissions for the longterm stuff, I only
work on the -stable trees that Greg is actively maintaining.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#630730: linux-image-2.6.32: GSO IPv6 issues

2011-06-16 Thread Apollon Oikonomopoulos
Package: linux-2.6
Version: 2.6.32-34squeeze1
Severity: normal
Tags: patch

Hi,

While performing stress testing on a KVM instance with IPv6, we noticed very
poor performance on IPv6 TCP connections, which basically came down to the bug
fixed by upstream commit 8e1e8a4779cb23c1d9f51e9223795e07ec54d77a[1]. Both, the
host and the guest were running 2.6.32-5-amd64 2.6.32-31 and the host featured
Intel NICs, using e1000e and igb. SSH sessions to the guest from outside would
effectively stall when large output was generated (e.g. ls -lR /) and 
the problem would disappear when disabling virtio_net's gso (modprobe 
virtio_net gso=0) or disabling the host's TSO using ethtool.

Furthermore, while trying to reproduce the behaviour on another system, we
triggered the bug fixed by commit 0aa68271510ae2b221d4b60892103837be63afe4[2],
i.e. a routed (not bridged) KVM instance using virtio-net would not get its GSO
IPv6 packets forwarded to the network, with the same poor performance as above.

After backporting and applying both patches to squeeze's version, IPv6 
performance was restored to the same levels as IPv4 in both cases. You 
can find the backported versions of the patches attached.

Thanks,
Apollon

[1] 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8e1e8a4779cb23c1d9f51e9223795e07ec54d77a
[2] 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0aa68271510ae2b221d4b60892103837be63afe4


-- Package-specific info:
** Version:
Linux version 2.6.32-5-amd64 (Debian 2.6.32-31) (b...@decadent.org.uk) (gcc 
version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Mar 7 21:35:22 UTC 2011

** Command line:
BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=/dev/mapper/linux-root ro

** Not tainted
From d70ca6cd8f33d4cb2fba194fc520232278f0d6a1 Mon Sep 17 00:00:00 2001
From: Sridhar Samudrala s...@us.ibm.com
Date: Thu, 16 Jun 2011 15:52:35 +0300
Subject: [PATCH 1/2] net: Fix IPv6 GSO type checks in Intel ethernet drivers

Found this problem when testing IPv6 from a KVM guest to a remote
host via e1000e device on the host.
The following patch fixes the check for IPv6 GSO packet in Intel
ethernet drivers to use skb_is_gso_v6(). SKB_GSO_DODGY is also set
when packets are forwarded from a guest.

Signed-off-by: Sridhar Samudrala s...@us.ibm.com
Signed-off-by: Jeff Kirsher jeffrey.t.kirs...@intel.com
Signed-off-by: David S. Miller da...@davemloft.net
---
 drivers/net/e1000e/netdev.c|2 +-
 drivers/net/igb/igb_main.c |2 +-
 drivers/net/igbvf/netdev.c |2 +-
 drivers/net/ixgbe/ixgbe_main.c |2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 4920a4e..92d6621 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3807,7 +3807,7 @@ static int e1000_tso(struct e1000_adapter *adapter,
  0);
 			cmd_length = E1000_TXD_CMD_IP;
 			ipcse = skb_transport_offset(skb) - 1;
-		} else if (skb_shinfo(skb)-gso_type == SKB_GSO_TCPV6) {
+		} else if (skb_is_gso_v6(skb)) {
 			ipv6_hdr(skb)-payload_len = 0;
 			tcp_hdr(skb)-check =
 ~csum_ipv6_magic(ipv6_hdr(skb)-saddr,
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 9e3d87a..40dc84c 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -3032,7 +3032,7 @@ static inline int igb_tso_adv(struct igb_adapter *adapter,
 			 iph-daddr, 0,
 			 IPPROTO_TCP,
 			 0);
-	} else if (skb_shinfo(skb)-gso_type == SKB_GSO_TCPV6) {
+	} else if (skb_is_gso_v6(skb)) {
 		ipv6_hdr(skb)-payload_len = 0;
 		tcp_hdr(skb)-check = ~csum_ipv6_magic(ipv6_hdr(skb)-saddr,
 		   ipv6_hdr(skb)-daddr,
diff --git a/drivers/net/igbvf/netdev.c b/drivers/net/igbvf/netdev.c
index 91024a3..d29188f 100644
--- a/drivers/net/igbvf/netdev.c
+++ b/drivers/net/igbvf/netdev.c
@@ -1953,7 +1953,7 @@ static int igbvf_tso(struct igbvf_adapter *adapter,
 		 iph-daddr, 0,
 		 IPPROTO_TCP,
 		 0);
-	} else if (skb_shinfo(skb)-gso_type == SKB_GSO_TCPV6) {
+	} else if (skb_is_gso_v6(skb)) {
 		ipv6_hdr(skb)-payload_len = 0;
 		tcp_hdr(skb)-check = ~csum_ipv6_magic(ipv6_hdr(skb)-saddr,
 		   ipv6_hdr(skb)-daddr,
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index a550d37..6810149 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -4881,7 +4881,7 @@ static int ixgbe_tso(struct ixgbe_adapter *adapter,
 			 IPPROTO_TCP,
 			 0);
 			adapter-hw_tso_ctxt++;
-		} else if (skb_shinfo(skb)-gso_type == SKB_GSO_TCPV6) {
+		} else if (skb_is_gso_v6(skb)) {
 			ipv6_hdr(skb)-payload_len = 0;
 			tcp_hdr(skb)-check =
 			~csum_ipv6_magic(ipv6_hdr(skb)-saddr,
-- 
1.7.2.5

From cc775a4f3c7275b0de898be2be245741b5353c8f