First commit happened a few days ago. dpb scans for already built packages
more aggressively, so that in case of restarts, the I/B information will
be more accurate faster: before that change, every pkgpath would go through
the queue, and already built paths would move to I/B later.

I'm also test-driving a small patch that moves multi-packages directly into
I/B when a path finishes.

This should improve performance slightly. Most specifically, keeping already
built packages in the queue of stuff to build makes the queue larger and 
slower.  And having more accurate "already built" information will help dpb
take better decisions.


The other change will soon be committed, it's currently undergoing final tests.

dpb will now maintain "affinity" information, that is, it will record
on which host each build is taking place.

So, when restarting an interrupted dpb/hot fixing a problem, dpb will
try to respect that information, as far as possible: during a first pass, 
it will skip over build candidates if the host doesn't match. They will
only be started on the "wrong" host if there is no choice left (that is,
the queue is mostly empty and the cpus are starved).

Those of you running dpb on clusters should appreciate that. It should make
dpb much more resilient to restarts.


Reply via email to