summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-10 14:54:34 +0100
committerSteve Sakoman <steve@sakoman.com>2023-12-04 06:03:01 -1000
commitb5f77e8159ad321f31999af8304f082a2c56b537 (patch)
treec00ea53fbda15c9a8a70e09df67ad5e53f4ce45f
parent2b2997ab6bdda730e4b638f416311a73e0c42156 (diff)
downloadbitbake-b5f77e8159ad321f31999af8304f082a2c56b537.tar.gz
runqueue: Add pressure change logging
It is currently hard to tell when bitbake is throttling task execution due to system pressure changes. Add notes to the console output to make this clearer, only generating output when the values change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--lib/bb/runqueue.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 3e89c38bc..ab9e3fbe8 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -212,6 +212,10 @@ class RunQueueScheduler(object):
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
+ pressure_state = (exceeds_cpu_pressure, exceeds_io_pressure, exceeds_memory_pressure)
+ if hasattr(self, "pressure_state") and pressure_state != self.pressure_state:
+ bb.note("Pressure status changed to CPU: %s, IO: %s, Mem: %s" % pressure_state)
+ self.pressure_state = pressure_state
return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
return False