summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/runqueue.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index e629ab7e7b..02f1474540 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -198,15 +198,20 @@ class RunQueueScheduler(object):
198 curr_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1] 198 curr_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1]
199 curr_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1] 199 curr_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1]
200 curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1] 200 curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
201 exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
202 exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
203 exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
204 now = time.time() 201 now = time.time()
205 if now - self.prev_pressure_time > 1.0: 202 tdiff = now - self.prev_pressure_time
203 if tdiff > 1.0:
204 exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) / tdiff > self.rq.max_cpu_pressure
205 exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) / tdiff > self.rq.max_io_pressure
206 exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) / tdiff > self.rq.max_memory_pressure
206 self.prev_cpu_pressure = curr_cpu_pressure 207 self.prev_cpu_pressure = curr_cpu_pressure
207 self.prev_io_pressure = curr_io_pressure 208 self.prev_io_pressure = curr_io_pressure
208 self.prev_memory_pressure = curr_memory_pressure 209 self.prev_memory_pressure = curr_memory_pressure
209 self.prev_pressure_time = now 210 self.prev_pressure_time = now
211 else:
212 exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
213 exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
214 exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
210 return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure) 215 return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
211 return False 216 return False
212 217