[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