[oe-commits] [openembedded-core] 06/67: python3: Avoid hanging tests

git at git.openembedded.org git at git.openembedded.org
Thu Apr 11 14:27:20 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 2a48df02a2871635f8235645bfd7f7a3ff0aef31
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Sun Apr 7 23:15:04 2019 +0100

    python3: Avoid hanging tests
    
    There are python tests which hang with recent kernels, 5.0 onwards. This causes
    ptest to timeout for python3. Disable the problematic test until we better understand
    the real cause and fix of the issue (discussions are happening with upstream).
    
    See the patch for details/links.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 .../python/python3/ptesthack.patch                 | 60 ++++++++++++++++++++++
 meta/recipes-devtools/python/python3_3.7.2.bb      |  1 +
 2 files changed, 61 insertions(+)

diff --git a/meta/recipes-devtools/python/python3/ptesthack.patch b/meta/recipes-devtools/python/python3/ptesthack.patch
new file mode 100644
index 0000000..8cfa92f
--- /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 at 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 at google.com>
+    Cc: Neal Cardwell <ncardwell at google.com>
+    Cc: Yuchung Cheng <ycheng at google.com>
+    Acked-by: Neal Cardwell <ncardwell at google.com>
+    Signed-off-by: David S. Miller <davem at 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 28f128d..4ff8cff 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 = " \

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list