[kernel] r15361 - in dists/lenny/linux-2.6/debian: . patches/features/all/openvz patches/series

Maximilian Attems maks at alioth.debian.org
Fri Mar 12 05:14:05 UTC 2010


Author: maks
Date: Fri Mar 12 05:13:45 2010
New Revision: 15361

Log:
add patch from openvz bz 1067 on issue after live migration

fix verified in 2.6.32 openvz patch.

Added:
   dists/lenny/linux-2.6/debian/patches/features/all/openvz/rst-fix-sk-tso.patch
Modified:
   dists/lenny/linux-2.6/debian/changelog
   dists/lenny/linux-2.6/debian/patches/series/23-extra

Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog	Fri Mar 12 04:05:49 2010	(r15360)
+++ dists/lenny/linux-2.6/debian/changelog	Fri Mar 12 05:13:45 2010	(r15361)
@@ -6,6 +6,8 @@
   [ maximilian attems ]
   * openvz: printk_cpu have to be "cleared" in __vprintk (v2)
     (closes: #573460)
+  * openvz: Fix "Bad throughput of TCP connection after live migration"
+    (closes: #500145)
 
  -- dann frazier <dannf at debian.org>  Wed, 10 Mar 2010 23:42:11 -0700
 

Added: dists/lenny/linux-2.6/debian/patches/features/all/openvz/rst-fix-sk-tso.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/features/all/openvz/rst-fix-sk-tso.patch	Fri Mar 12 05:13:45 2010	(r15361)
@@ -0,0 +1,41 @@
+Fix "Bad throughput of TCP connection after live migration"
+
+After migration sk->sk_gso_type is set to 0. Due to this, sk_can_gso()
+returns 1, and tcp layer thinks that socket supports GSO.
+As result, some outgoing packets are TSO packets. If physical ethernet device
+doesn't support TSO, then big ethernet packet will be dropped.
+
+Notes:
+
+  A.  Big ethernet packet is dropped on the non-TSO real physical ethernet
+      device, because:
+
+      1. Packet will not be slitted on several small packets, as GSO layer
+         doesn't handle properly this packet (skb_gso_ok(skb) returns 1).
+
+      2. Total packet's length > mtu (for instanse: mtu 1500, length 2962)
+
+  B. UDP sockets don't use sk->sk_gso_type.
+
+Bug #431368
+https://bugzilla.sw.ru/show_bug.cgi?id=431368
+
+Signed-off-by: Vitaliy Gusev <vgusev at openvz.org>
+
+
+diff --git a/kernel/cpt/rst_socket_in.c b/kernel/cpt/rst_socket_in.c
+index ca97317..1491144 100644
+--- a/kernel/cpt/rst_socket_in.c
++++ b/kernel/cpt/rst_socket_in.c
+@@ -289,6 +289,11 @@ static int rst_socket_tcp(struct cpt_sock_image *si, loff_t pos, struct sock *sk
+ 		}
+ 	}
+ 
++	if (sk->sk_family == AF_INET6)
++		sk->sk_gso_type = SKB_GSO_TCPV6;
++	else
++		sk->sk_gso_type = SKB_GSO_TCPV4;
++
+ 	return 0;
+ }
+ 

Modified: dists/lenny/linux-2.6/debian/patches/series/23-extra
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/23-extra	Fri Mar 12 04:05:49 2010	(r15360)
+++ dists/lenny/linux-2.6/debian/patches/series/23-extra	Fri Mar 12 05:13:45 2010	(r15361)
@@ -1 +1,2 @@
 + features/all/openvz/printk_cpu_clared_vprintk.patch featureset=openvz
++ features/all/openvz/rst-fix-sk-tso.patch featureset=openvz



More information about the Kernel-svn-changes mailing list