[OE-core] [PATCH] lib/oeqa/qemurunner: Use a timeout in select() call
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Sep 6 14:42:59 UTC 2013
A 0 value to select.select() immediately returns with no timeout. This was
pegging the cpu at 100% for the python process which was bad and may be
contributing to some of the timeout problems.
Profile from -P of a core-image-minimal before:
97526792 function calls (97525652 primitive calls) in 45.189 seconds
and after:
50204 function calls (49064 primitive calls) in 17.318 seconds
Saving 97.5 million function calls has to be good :)
(From OE-Core rev: a572348c7ec1eb82fa2e5c977b27c24b4a9b29a1)
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index e7bd8b1..f837800 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -101,7 +101,7 @@ class QemuRunner:
reachedlogin = False
stopread = False
while time.time() < endtime and not stopread:
- sread, swrite, serror = select.select(socklist, [], [], 0)
+ sread, swrite, serror = select.select(socklist, [], [], 0.1)
for sock in sread:
if sock is self.server_socket:
self.qemusock, addr = self.server_socket.accept()
More information about the Openembedded-core
mailing list