summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/python/python3/ptesthack.patch60
-rw-r--r--meta/recipes-devtools/python/python3_3.7.2.bb1
2 files changed, 61 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3/ptesthack.patch b/meta/recipes-devtools/python/python3/ptesthack.patch
new file mode 100644
index 0000000000..8cfa92f9e8
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/ptesthack.patch
@@ -0,0 +1,60 @@
+This test hangs under 5.0 kernels onwards. It appears to be caused by the commit in the kernel:
+
+commit 4f693b55c3d2d2239b8a0094b518a1e533cf75d5 (HEAD, refs/bisect/bad)
+Author: Eric Dumazet <edumazet@google.com>
+Date: Tue Nov 27 14:42:03 2018 -0800
+
+ tcp: implement coalescing on backlog queue
+
+ In case GRO is not as efficient as it should be or disabled,
+ we might have a user thread trapped in __release_sock() while
+ softirq handler flood packets up to the point we have to drop.
+
+ This patch balances work done from user thread and softirq,
+ to give more chances to __release_sock() to complete its work
+ before new packets are added the the backlog.
+
+ This also helps if we receive many ACK packets, since GRO
+ does not aggregate them.
+
+ This patch brings ~60% throughput increase on a receiver
+ without GRO, but the spectacular gain is really on
+ 1000x release_sock() latency reduction I have measured.
+
+ Signed-off-by: Eric Dumazet <edumazet@google.com>
+ Cc: Neal Cardwell <ncardwell@google.com>
+ Cc: Yuchung Cheng <ycheng@google.com>
+ Acked-by: Neal Cardwell <ncardwell@google.com>
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+
+Reported to upstream kernel for advice: https://lore.kernel.org/netdev/85aabf9d4f41b6c57629e736993233f80a037e59.camel@linuxfoundation.org/T/#u
+
+Disable the test for now to stop ptests hanging
+
+Upstream-Status: Inappropriate [real cause of issue still TBD]
+
+Index: Python-3.7.2/Lib/test/test_httplib.py
+===================================================================
+--- Python-3.7.2.orig/Lib/test/test_httplib.py
++++ Python-3.7.2/Lib/test/test_httplib.py
+@@ -1114,6 +1114,7 @@ class BasicTest(TestCase):
+ self.assertEqual(sock.file.read(), extradata) #we read to the end
+ resp.close()
+
++ @unittest.skip("broken on newer kernels")
+ def test_response_fileno(self):
+ # Make sure fd returned by fileno is valid.
+ serv = socket.socket(
+Index: Python-3.7.2/Lib/test/test_ssl.py
+===================================================================
+--- Python-3.7.2.orig/Lib/test/test_ssl.py
++++ Python-3.7.2/Lib/test/test_ssl.py
+@@ -4146,6 +4146,7 @@ class ThreadedTests(unittest.TestCase):
+ self.assertEqual(sess_stat['accept'], 4)
+ self.assertEqual(sess_stat['hits'], 2)
+
++ @unittest.skip("broken on newer kernels")
+ def test_session_handling(self):
+ client_context, server_context, hostname = testing_context()
+ client_context2, _, _ = testing_context()
diff --git a/meta/recipes-devtools/python/python3_3.7.2.bb b/meta/recipes-devtools/python/python3_3.7.2.bb
index 28f128d488..4ff8cff3a1 100644
--- a/meta/recipes-devtools/python/python3_3.7.2.bb
+++ b/meta/recipes-devtools/python/python3_3.7.2.bb
@@ -21,6 +21,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
+ file://ptesthack.patch \
"
SRC_URI_append_class-native = " \