diff options
-rw-r--r-- | meta/recipes-devtools/python/python3/ptesthack.patch | 60 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3_3.7.2.bb | 1 |
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 @@ | |||
1 | This test hangs under 5.0 kernels onwards. It appears to be caused by the commit in the kernel: | ||
2 | |||
3 | commit 4f693b55c3d2d2239b8a0094b518a1e533cf75d5 (HEAD, refs/bisect/bad) | ||
4 | Author: Eric Dumazet <edumazet@google.com> | ||
5 | Date: Tue Nov 27 14:42:03 2018 -0800 | ||
6 | |||
7 | tcp: implement coalescing on backlog queue | ||
8 | |||
9 | In case GRO is not as efficient as it should be or disabled, | ||
10 | we might have a user thread trapped in __release_sock() while | ||
11 | softirq handler flood packets up to the point we have to drop. | ||
12 | |||
13 | This patch balances work done from user thread and softirq, | ||
14 | to give more chances to __release_sock() to complete its work | ||
15 | before new packets are added the the backlog. | ||
16 | |||
17 | This also helps if we receive many ACK packets, since GRO | ||
18 | does not aggregate them. | ||
19 | |||
20 | This patch brings ~60% throughput increase on a receiver | ||
21 | without GRO, but the spectacular gain is really on | ||
22 | 1000x release_sock() latency reduction I have measured. | ||
23 | |||
24 | Signed-off-by: Eric Dumazet <edumazet@google.com> | ||
25 | Cc: Neal Cardwell <ncardwell@google.com> | ||
26 | Cc: Yuchung Cheng <ycheng@google.com> | ||
27 | Acked-by: Neal Cardwell <ncardwell@google.com> | ||
28 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
29 | |||
30 | |||
31 | Reported to upstream kernel for advice: https://lore.kernel.org/netdev/85aabf9d4f41b6c57629e736993233f80a037e59.camel@linuxfoundation.org/T/#u | ||
32 | |||
33 | Disable the test for now to stop ptests hanging | ||
34 | |||
35 | Upstream-Status: Inappropriate [real cause of issue still TBD] | ||
36 | |||
37 | Index: Python-3.7.2/Lib/test/test_httplib.py | ||
38 | =================================================================== | ||
39 | --- Python-3.7.2.orig/Lib/test/test_httplib.py | ||
40 | +++ Python-3.7.2/Lib/test/test_httplib.py | ||
41 | @@ -1114,6 +1114,7 @@ class BasicTest(TestCase): | ||
42 | self.assertEqual(sock.file.read(), extradata) #we read to the end | ||
43 | resp.close() | ||
44 | |||
45 | + @unittest.skip("broken on newer kernels") | ||
46 | def test_response_fileno(self): | ||
47 | # Make sure fd returned by fileno is valid. | ||
48 | serv = socket.socket( | ||
49 | Index: Python-3.7.2/Lib/test/test_ssl.py | ||
50 | =================================================================== | ||
51 | --- Python-3.7.2.orig/Lib/test/test_ssl.py | ||
52 | +++ Python-3.7.2/Lib/test/test_ssl.py | ||
53 | @@ -4146,6 +4146,7 @@ class ThreadedTests(unittest.TestCase): | ||
54 | self.assertEqual(sess_stat['accept'], 4) | ||
55 | self.assertEqual(sess_stat['hits'], 2) | ||
56 | |||
57 | + @unittest.skip("broken on newer kernels") | ||
58 | def test_session_handling(self): | ||
59 | client_context, server_context, hostname = testing_context() | ||
60 | 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 \ | |||
21 | file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ | 21 | file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ |
22 | file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \ | 22 | file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \ |
23 | file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ | 23 | file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ |
24 | file://ptesthack.patch \ | ||
24 | " | 25 | " |
25 | 26 | ||
26 | SRC_URI_append_class-native = " \ | 27 | SRC_URI_append_class-native = " \ |