]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/utils/qemurunner.py: Fix HIGH CPU usage on LoggingThread
authorAníbal Limón <anibal.limon@linux.intel.com>
Tue, 22 Sep 2015 16:56:22 +0000 (11:56 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 22 Sep 2015 17:13:02 +0000 (18:13 +0100)
LoggingThread is used for receive console output from QEMU
over TCP, so add filter to only wake poll on read events,
also change the event mask variable name to be more descriptive.

This fixes HIGH CPU consume caused by wake on ready to write
events.

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/utils/qemurunner.py

index d32c9db46d1be3c0a6f52ad1af18584548085eaa..6edd37477e1defc30a9a3f0d9a7afa1d3ab7527f 100644 (file)
@@ -440,9 +440,9 @@ class LoggingThread(threading.Thread):
 
     def eventloop(self):
         poll = select.poll()
-        eventmask = self.errorevents | self.readevents
+        event_read_mask = self.errorevents | self.readevents
         poll.register(self.serversock.fileno())
-        poll.register(self.readpipe, eventmask)
+        poll.register(self.readpipe, event_read_mask)
 
         breakout = False
         self.running = True
@@ -466,7 +466,7 @@ class LoggingThread(threading.Thread):
                     self.readsock, _ = self.serversock.accept()
                     self.readsock.setblocking(0)
                     poll.unregister(self.serversock.fileno())
-                    poll.register(self.readsock.fileno())
+                    poll.register(self.readsock.fileno(), event_read_mask)
 
                     self.logger.info("Setting connection established event")
                     self.connection_established.set()