[OE-core] [master][zeus][PATCH] sstate.bbclass: Only show sstate mirror progress bar for >= 100 objects
Peter Kjellerstedt
pkj at axis.com
Sat Jan 11 03:28:43 UTC 2020
With the introduction of the hash equivalence server, the progress bar
for "Checking sstate mirror object availability" is shown
repeatedly. Most of the times the number of objects scanned is very
low and the progress bar completes almost immediately. To avoid all
these unnecessary progress bars, set the minimum number of objects to
100 before the progress bar is shown.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
---
The minimum limit of 100 objects is of course quite arbitrarily
chosen, but it seems to do the job for me.
meta/classes/sstate.bbclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 356fe7ec18..c089a3fe94 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -930,9 +930,11 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
missed.add(tid)
bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
pass
- bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
+ if len(tasklist) >= min_tasks:
+ bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
tasklist = []
+ min_tasks = 100
for tid in sq_data['hash']:
if tid in found:
continue
@@ -941,8 +943,9 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
tasklist.append((tid, sstatefile))
if tasklist:
- msg = "Checking sstate mirror object availability"
- bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
+ if len(tasklist) >= min_tasks:
+ msg = "Checking sstate mirror object availability"
+ bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
import multiprocessing
nproc = min(multiprocessing.cpu_count(), len(tasklist))
@@ -956,7 +959,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
pool.wait_completion()
bb.event.disable_threadlock()
- bb.event.fire(bb.event.ProcessFinished(msg), d)
+ if len(tasklist) >= min_tasks:
+ bb.event.fire(bb.event.ProcessFinished(msg), d)
# Likely checking an individual task hash again for multiconfig sharing of sstate tasks so skip reporting
if len(sq_data['hash']) == 1:
--
2.21.1
More information about the Openembedded-core
mailing list