diff options
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 13 |
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 | ||
