Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

buildsystem: switch to dynamic scheduler #4092

Merged
merged 18 commits into from
Jan 20, 2020
Merged

buildsystem: switch to dynamic scheduler #4092

merged 18 commits into from
Jan 20, 2020

Conversation

MilhouseVH
Copy link
Contributor

@MilhouseVH MilhouseVH commented Jan 3, 2020

Thanks to @dhewg for the initial work/prompting on this.

This PR moves us beyond the current "static plan" schedule which has it's limitations. Optimising the static plan can only take us so far, and due to the fairly "dumb" nature of parallel we're stuck with several limitations.

Replacing parallel with something that is more knowledgeable about the LibreELEC build process and switching to a "dynamic" schedule optimises the remaining few minutes out of the static plan, while also allowing us to more efficiently implement in Python what we had previously had to support in shell code (ie. job failure handling) and eliminating recursive dependency stamp checking and subequent dependency building.

With the dynamic scheduler it is no longer necessary to recursively build or install package dependencies - the exception being initramfs:target - which results in fewer unpack locks and stamp checks. Having eliminated recursive build and install we now only need to acquire locks during unpack and reconf - all other "locks" are purely for logging purposes.

By default logs will continue to be "grouped" or "burst" as they are now. The output from each log will be sent to stdout by default, although output to stdout can be disabled entirely (--log-combine never) or output only on failure (--log-combine fail), both of which may help reduce IO.

Debugging can be enabled with --debug (MTDEBUG=yes) with output written to ${THREAD_CONTROL}/debug.log.

Verbose output can be enabled with --verbose (MTVERBOSE=yes) with output written to stderr.

Completed job information can be written to ${THREAD_CONTROL}/joblog if --joblog is enabled (which it is, by default). The following space-delimited fields for each job will be written as each job is completed:

  • Status (DONE, FAIL)
  • Job sequence #
  • Slot #
  • Task (build, install)
  • Fully qualified package name (ie. linux:target)
  • user time (seconds)
  • system time (seconds)
  • cpu percentage
  • Elapsed time to complete task (in seconds)
  • Start time (seconds since epoch)
  • End time (seconds since epoch)
  • Path to log file (if --log-burst is enabled)

Below are some before/after comparisons for Generic and RPi2 builds (image and all addons)

  • The comparisons are from an 8-core FX-8350 with SSD
  • HEAD is 5e98544
  • Default options: --burst --log-combine always
  • Clean builds with "cold .ccache`
  • One set of comparisons is for THREADCOUNT=4/CONCURRENCY_MAKE_LEVEL=8 (ie. T4C8), the second for T8C8 to demonstrate the difference when "over committing" resources
  • "Over-committing" (at least on this hardware) tends to have a negative effect and is something we may want to address in a subsequent update (ie. -l switch for ninja and make)
  • This PR implements reduced locking, stamp verification and recursion as this extra processing is redundant with dynamic scheduling (although the resulting wall-clock saving is actually quite minor)

Generic, image (T4C8 and T8C8):

T4C8 (Generic): --no-reorder (CURRENT DEFAULT)                              | T4C8 (Generic): dynamic scheduling; with full locks and stamps              | T4C8 (Generic): dynamic scheduling; with reduced locks and stamps           |
Total Build Time: 02:05:35.214 (wall clock)                                 | Total Build Time: 01:48:25.709 (wall clock)                                 | Total Build Time: 01:47:12.712 (wall clock)                                 |
Accum Build Time: 08:22:20.798 (4 slots)                                    | Accum Build Time: 07:13:42.794 (4 slots)                                    | Accum Build Time: 07:08:50.804 (4 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   03:34:04.640  (42.6%)  934    busy                               |   ACTIVE   06:16:04.065  (86.7%)  934    busy                               |   ACTIVE   06:24:40.606  (89.7%)  897    busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :01:36.298  (00.3%)  326                                       |   IDLE       :48:03.211  (11.1%)  326                                       |   IDLE       :40:42.209  (09.5%)  326                                       |
  LOCKED     :02:21.985  (00.5%)  2881                                      |   LOCKED     :04:11.876  (01.0%)  2881                                      |   LOCKED     :02:06.278  (00.5%)  985                                       |
  MUTEX      :  :07.727  (00.0%)  6      busy                               |   MUTEX      :  :06.480  (00.0%)  6      busy                               |   MUTEX      :  :08.333  (00.0%)  6      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |
  STALLED  04:41:10.734  (56.0%)  127    stall                              |   STALLED    :  :00.146  (00.0%)  2      stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :02:59.414  (00.6%)  2881                                      |   UNLOCK     :05:17.017  (01.2%)  2881                                      |   UNLOCK     :01:13.377  (00.3%)  985                                       |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    08:22:20.798  ( 100%)  7155                                      |   TOTAL    07:13:42.794  ( 100%)  7030                                      |   TOTAL    07:08:50.804  ( 100%)  3199                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          |
                                                                            |                                                                             |                                                                             |
127 job slots were held in a "stall" state for 04:41:10.734                 | 2 job slots were held in a "stall" state for 00:00:00.146                   | 0 job slots were held in a "stall" state for 00:00:00.000                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    01   01:11:06.665 (14.2%)        |     01      02:05:29.900 (25.0%) |  #01    03   01:40:14.978 (23.1%)        |     01      01:48:17.839 (25.0%) |  #01    02   01:41:03.202 (23.6%)        |     01      01:47:11.515 (25.0%) |
 #02    04     :53:43.303 (10.7%)        |     02        :53:09.364 (10.6%) |  #02    01   01:37:42.717 (22.5%)        |     02      01:44:00.106 (24.0%) |  #02    04   01:39:22.066 (23.2%)        |     02      01:45:50.431 (24.7%) |
 #03    03     :46:39.047 (09.3%)        |     03        :27:02.342 (05.4%) |  #03    04   01:35:32.640 (22.0%)        |     03      01:35:32.180 (22.0%) |  #03    01   01:32:42.978 (21.6%)        |     03      01:37:19.422 (22.7%) |
 #04    02     :42:43.352 (08.5%)        |     04        :08:30.761 (01.7%) |  #04    02   01:22:40.210 (19.1%)        |     04      01:08:20.420 (15.8%) |  #04    03   01:31:40.694 (21.4%)        |     04      01:14:27.571 (17.4%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      03:34:12.368 (42.6%)                      03:34:12.368 (42.6%) |  TOTALS      06:16:10.545 (86.7%)                      06:16:10.545 (86.7%) |  TOTALS      06:24:48.939 (89.7%)                      06:24:48.939 (89.7%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|
T8C8 (Generic): --no-reorder (CURRENT DEFAULT)                              | T8C8 (Generic): dynamic scheduling; with full locks and stamps              | T8C8 (Generic): dynamic scheduling; with reduced locks and stamps           |
Total Build Time: 01:56:30.030 (wall clock)                                 | Total Build Time: 01:51:30.028 (wall clock)                                 | Total Build Time: 01:49:02.964 (wall clock)                                 |
Accum Build Time: 15:31:59.959 (8 slots)                                    | Accum Build Time: 14:51:51.907 (8 slots)                                    | Accum Build Time: 14:32:15.343 (8 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   04:44:05.029  (30.5%)  934    busy                               |   ACTIVE   08:29:17.116  (57.1%)  934    busy                               |   ACTIVE   08:41:22.818  (59.8%)  897    busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :04:07.991  (00.4%)  326                                       |   IDLE     06:07:16.330  (41.2%)  326                                       |   IDLE     05:45:21.796  (39.6%)  326                                       |
  LOCKED     :04:27.042  (00.5%)  2881                                      |   LOCKED     :06:42.670  (00.8%)  2881                                      |   LOCKED     :03:15.185  (00.4%)  985                                       |
  MUTEX      :  :07.728  (00.0%)  6      busy                               |   MUTEX      :  :06.967  (00.0%)  6      busy                               |   MUTEX      :  :07.345  (00.0%)  6      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :03.295  (00.0%)  3      stall                              |   MUTEX/W    :  :05.241  (00.0%)  3      stall                              |
  STALLED  10:33:49.709  (68.0%)  193    stall                              |   STALLED    :  :03.694  (00.0%)  32     stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :05:22.459  (00.6%)  2881                                      |   UNLOCK     :08:21.833  (00.9%)  2881                                      |   UNLOCK     :02:02.960  (00.2%)  985                                       |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    15:31:59.959  ( 100%)  7221                                      |   TOTAL    14:51:51.907  ( 100%)  7063                                      |   TOTAL    14:32:15.343  ( 100%)  3202                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          |
                                                                            |                                                                             |                                                                             |
193 job slots were held in a "stall" state for 10:33:49.709                 | 35 job slots were held in a "stall" state for 00:00:06.990                  | 3 job slots were held in a "stall" state for 00:00:05.241                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    01     :50:51.216 (05.5%)        |     01      01:56:25.269 (12.5%) |  #01    04   01:20:44.255 (09.1%)        |     01      01:51:15.790 (12.5%) |  #01    03   01:19:50.521 (09.2%)        |     01      01:49:00.233 (12.5%) |
 #02    03     :42:53.778 (04.6%)        |     02      01:02:53.385 (06.7%) |  #02    02   01:10:16.956 (07.9%)        |     02      01:29:17.532 (10.0%) |  #02    06   01:14:47.880 (08.6%)        |     02      01:30:54.740 (10.4%) |
 #03    06     :42:29.669 (04.6%)        |     03        :52:06.915 (05.6%) |  #03    05   01:05:48.185 (07.4%)        |     03      01:15:49.217 (08.5%) |  #03    01   01:13:32.689 (08.4%)        |     03      01:16:50.330 (08.8%) |
 #04    02     :38:40.004 (04.1%)        |     04        :26:15.364 (02.8%) |  #04    08   01:04:22.546 (07.2%)        |     04      01:01:12.008 (06.9%) |  #04    07   01:10:07.187 (08.0%)        |     04      01:02:12.789 (07.1%) |
 #05    04     :35:20.609 (03.8%)        |     05        :14:42.490 (01.6%) |  #05    03   01:00:30.274 (06.8%)        |     05        :49:46.913 (05.6%) |  #05    08     :58:44.678 (06.7%)        |     05        :50:44.345 (05.8%) |
 #06    07     :33:33.716 (03.6%)        |     06        :07:27.987 (00.8%) |  #06    06   01:00:26.491 (06.8%)        |     06        :46:39.498 (05.2%) |  #06    04     :57:57.990 (06.6%)        |     06        :47:11.488 (05.4%) |
 #07    05     :22:01.108 (02.4%)        |     07        :03:29.032 (00.4%) |  #07    07     :56:12.491 (06.3%)        |     07        :43:55.387 (04.9%) |  #07    02     :57:10.967 (06.6%)        |     07        :45:59.093 (05.3%) |
 #08    08     :18:22.658 (02.0%)        |     08        :  :52.315 (00.1%) |  #08    01     :51:02.886 (05.7%)        |     08        :31:27.738 (03.5%) |  #08    05     :49:18.250 (05.7%)        |     08        :38:37.145 (04.4%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      04:44:12.757 (30.5%)                      04:44:12.757 (30.5%) |  TOTALS      08:29:24.083 (57.1%)                      08:29:24.083 (57.1%) |  TOTALS      08:41:30.163 (59.8%)                      08:41:30.163 (59.8%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|

Generic, all addons (T4C8 and T8C8):

T4C8 (Generic): --no-reorder (CURRENT DEFAULT)                              | T4C8 (Generic): dynamic scheduling; with full locks and stamps              | T4C8 (Generic): dynamic scheduling; with reduced locks and stamps           |
Total Build Time: 04:10:22.303 (wall clock)                                 | Total Build Time: 03:47:05.127 (wall clock)                                 | Total Build Time: 03:45:46.037 (wall clock)                                 |
Accum Build Time: 16:41:29.157 (4 slots)                                    | Accum Build Time: 15:08:20.465 (4 slots)                                    | Accum Build Time: 15:03:04.105 (4 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   08:40:03.013  (51.9%)  1650   busy                               |   ACTIVE   14:23:26.363  (95.1%)  1650   busy                               |   ACTIVE   14:27:06.586  (96.0%)  1649   busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :04.737  (00.0%)  1      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :03:07.037  (00.3%)  700                                       |   IDLE       :25:21.590  (02.8%)  700                                       |   IDLE       :25:57.785  (02.9%)  700                                       |
  LOCKED     :04:57.074  (00.5%)  3799                                      |   LOCKED     :09:14.831  (01.0%)  3799                                      |   LOCKED     :05:41.748  (00.6%)  1750                                      |
  MUTEX      :  :09.166  (00.0%)  6      busy                               |   MUTEX      :  :06.509  (00.0%)  6      busy                               |   MUTEX      :  :06.463  (00.0%)  6      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |
  STALLED  07:47:47.254  (46.7%)  215    stall                              |   STALLED    :  :02.670  (00.0%)  16     stall                              |   STALLED    :  :01.662  (00.0%)  1      stall                              |
  UNLOCK     :05:20.875  (00.5%)  3799                                      |   UNLOCK     :10:08.502  (01.1%)  3799                                      |   UNLOCK     :04:09.863  (00.5%)  1750                                      |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    16:41:29.157  ( 100%)  10170                                     |   TOTAL    15:08:20.465  ( 100%)  9970                                      |   TOTAL    15:03:04.105  ( 100%)  5856                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          |
                                                                            |                                                                             |                                                                             |
215 job slots were held in a "stall" state for 07:47:47.254                 | 16 job slots were held in a "stall" state for 00:00:02.670                  | 1 job slots were held in a "stall" state for 00:00:01.662                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    04   03:07:40.989 (18.7%)        |     01      04:10:19.795 (25.0%) |  #01    03   03:38:06.697 (24.0%)        |     01      03:47:04.274 (25.0%) |  #01    02   03:39:54.511 (24.4%)        |     01      03:45:45.379 (25.0%) |
 #02    01   02:24:36.931 (14.4%)        |     02      02:59:26.003 (17.9%) |  #02    04   03:36:46.812 (23.9%)        |     02      03:46:11.121 (24.9%) |  #02    01   03:39:07.816 (24.3%)        |     02      03:44:48.141 (24.9%) |
 #03    02   01:40:48.268 (10.1%)        |     03      01:17:14.744 (07.7%) |  #03    01   03:36:02.722 (23.8%)        |     03      03:36:24.750 (23.8%) |  #03    03   03:34:07.891 (23.7%)        |     03      03:35:54.719 (23.9%) |
 #04    03   01:27:10.730 (08.7%)        |     04        :13:16.376 (01.3%) |  #04    02   03:32:36.641 (23.4%)        |     04      03:13:52.726 (21.3%) |  #04    04   03:34:02.830 (23.7%)        |     04      03:20:44.808 (22.2%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      08:40:16.917 (52.0%)                      08:40:16.917 (52.0%) |  TOTALS      14:23:32.872 (95.1%)                      14:23:32.872 (95.1%) |  TOTALS      14:27:13.048 (96.0%)                      14:27:13.048 (96.0%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|
T8C8 (Generic): --no-reorder (CURRENT DEFAULT)                              | T8C8 (Generic): dynamic scheduling; with full locks and stamps              | T8C8 (Generic): dynamic scheduling; with reduced locks and stamps           |
Total Build Time: 03:55:51.460 (wall clock)                                 | Total Build Time: 03:49:26.646 (wall clock)                                 | Total Build Time: 03:49:09.343 (wall clock)                                 |
Accum Build Time: 31:26:51.409 (8 slots)                                    | Accum Build Time: 30:35:31.224 (8 slots)                                    | Accum Build Time: 30:33:12.561 (8 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   14:45:28.824  (46.9%)  1650   busy                               |   ACTIVE   22:18:38.318  (72.9%)  1650   busy                               |   ACTIVE   21:57:56.183  (71.9%)  1649   busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :08.578  (00.0%)  6      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :10:03.610  (00.5%)  700                                       |   IDLE     07:38:25.761  (25.0%)  700                                       |   IDLE     08:18:55.582  (27.2%)  700                                       |
  LOCKED     :11:25.084  (00.6%)  3799                                      |   LOCKED     :18:02.351  (01.0%)  3799                                      |   LOCKED     :09:12.217  (00.5%)  1750                                      |
  MUTEX      :  :07.303  (00.0%)  6      busy                               |   MUTEX      :  :06.985  (00.0%)  6      busy                               |   MUTEX      :  :07.226  (00.0%)  6      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :04.236  (00.0%)  3      stall                              |   MUTEX/W    :  :04.488  (00.0%)  3      stall                              |
  STALLED  16:07:20.190  (51.3%)  315    stall                              |   STALLED    :  :09.994  (00.0%)  49     stall                              |   STALLED    :  :00.765  (00.0%)  1      stall                              |
  UNLOCK     :12:26.399  (00.7%)  3799                                      |   UNLOCK     :19:55.003  (01.1%)  3799                                      |   UNLOCK     :06:56.100  (00.4%)  1750                                      |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    31:26:51.409  ( 100%)  10269                                     |   TOTAL    30:35:31.224  ( 100%)  10012                                     |   TOTAL    30:33:12.561  ( 100%)  5859                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          |
                                                                            |                                                                             |                                                                             |
315 job slots were held in a "stall" state for 16:07:20.190                 | 52 job slots were held in a "stall" state for 00:00:14.230                  | 4 job slots were held in a "stall" state for 00:00:05.253                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    03   02:51:39.181 (09.1%)        |     01      03:55:50.288 (12.5%) |  #01    07   03:04:50.591 (10.1%)        |     01      03:49:25.368 (12.5%) |  #01    01   03:01:41.383 (09.9%)        |     01      03:49:08.237 (12.5%) |
 #02    08   02:07:14.666 (06.7%)        |     02      03:22:36.130 (10.7%) |  #02    04   02:57:36.475 (09.7%)        |     02      03:15:09.912 (10.6%) |  #02    03   02:54:55.443 (09.5%)        |     02      03:13:42.747 (10.6%) |
 #03    06   01:52:26.428 (06.0%)        |     03      02:45:52.228 (08.8%) |  #03    05   02:56:57.241 (09.6%)        |     03      02:59:27.261 (09.8%) |  #03    05   02:47:16.241 (09.1%)        |     03      02:52:57.993 (09.4%) |
 #04    01   01:47:26.251 (05.7%)        |     04      02:27:15.831 (07.8%) |  #04    02   02:46:04.688 (09.0%)        |     04      02:45:34.484 (09.0%) |  #04    08   02:46:46.556 (09.1%)        |     04      02:38:07.143 (08.6%) |
 #05    05   01:43:42.135 (05.5%)        |     05      01:31:58.915 (04.9%) |  #05    06   02:43:11.263 (08.9%)        |     05      02:36:20.959 (08.5%) |  #05    06   02:45:29.987 (09.0%)        |     05      02:30:11.707 (08.2%) |
 #06    04   01:42:58.003 (05.5%)        |     06        :26:27.693 (01.4%) |  #06    08   02:42:07.412 (08.8%)        |     06      02:32:21.499 (08.3%) |  #06    04   02:39:52.168 (08.7%)        |     06      02:26:42.900 (08.0%) |
 #07    07   01:40:10.138 (05.3%)        |     07        :12:34.055 (00.7%) |  #07    03   02:36:07.310 (08.5%)        |     07      02:26:19.218 (08.0%) |  #07    02   02:32:01.147 (08.3%)        |     07      02:23:10.039 (07.8%) |
 #08    02     :59:59.326 (03.2%)        |     08        :03:00.985 (00.2%) |  #08    01   02:31:58.899 (08.3%)        |     08      01:54:15.179 (06.2%) |  #08    07   02:30:00.482 (08.2%)        |     08      02:04:02.643 (06.8%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      14:45:36.126 (46.9%)                      14:45:36.126 (46.9%) |  TOTALS      22:18:53.880 (72.9%)                      22:18:53.880 (72.9%) |  TOTALS      21:58:03.409 (71.9%)                      21:58:03.409 (71.9%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|

RPi2, image (T4C8 and T8C8):

T4C8 (RPi2): --no-reorder (CURRENT DEFAULT)                                 | T4C8 (RPi2): dynamic scheduling; with full locks and stamps                 | T4C8 (RPi2): dynamic scheduling; with reduced locks and stamps              |
Total Build Time: 01:19:36.014 (wall clock)                                 | Total Build Time: 01:06:49.002 (wall clock)                                 | Total Build Time: 01:06:15.175 (wall clock)                                 |
Accum Build Time: 05:18:24.004 (4 slots)                                    | Accum Build Time: 04:27:15.966 (4 slots)                                    | Accum Build Time: 04:25:00.656 (4 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   02:32:50.154  (48.0%)  721    busy                               |   ACTIVE   03:13:15.571  (72.3%)  721    busy                               |   ACTIVE   03:18:47.078  (75.0%)  693    busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :05.194  (00.0%)  1      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :01:18.735  (00.4%)  259                                       |   IDLE     01:10:19.619  (26.3%)  259                                       |   IDLE     01:04:27.184  (24.3%)  259                                       |
  LOCKED     :01:40.014  (00.5%)  2092                                      |   LOCKED     :01:38.039  (00.6%)  2092                                      |   LOCKED     :01:02.298  (00.4%)  779                                       |
  MUTEX      :  :05.900  (00.0%)  4      busy                               |   MUTEX      :  :04.828  (00.0%)  4      busy                               |   MUTEX      :  :05.791  (00.0%)  4      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |
  STALLED  02:40:23.332  (50.4%)  94     stall                              |   STALLED    :  :00.204  (00.0%)  4      stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :02:00.673  (00.6%)  2092                                      |   UNLOCK     :01:57.705  (00.7%)  2092                                      |   UNLOCK     :  :38.306  (00.2%)  779                                       |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    05:18:24.004  ( 100%)  5263                                      |   TOTAL    04:27:15.966  ( 100%)  5172                                      |   TOTAL    04:25:00.656  ( 100%)  2514                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          |
                                                                            |                                                                             |                                                                             |
94 job slots were held in a "stall" state for 02:40:23.332                  | 4 job slots were held in a "stall" state for 00:00:00.204                   | 0 job slots were held in a "stall" state for 00:00:00.000                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    01     :45:31.883 (14.3%)        |     01      01:19:31.261 (25.0%) |  #01    04     :55:21.048 (20.7%)        |     01      01:06:38.078 (24.9%) |  #01    04     :54:52.070 (20.7%)        |     01      01:06:13.278 (25.0%) |
 #02    04     :42:48.621 (13.4%)        |     02        :41:58.733 (13.2%) |  #02    03     :49:12.584 (18.4%)        |     02        :52:55.076 (19.8%) |  #02    01     :52:02.042 (19.6%)        |     02        :54:40.558 (20.6%) |
 #03    02     :41:08.980 (12.9%)        |     03        :23:27.724 (07.4%) |  #03    02     :47:34.166 (17.8%)        |     03        :39:14.010 (14.7%) |  #03    02     :48:21.680 (18.2%)        |     03        :40:55.445 (15.4%) |
 #04    03     :23:31.765 (07.4%)        |     04        :08:03.531 (02.5%) |  #04    01     :41:12.601 (15.4%)        |     04        :34:33.234 (12.9%) |  #04    03     :43:37.076 (16.5%)        |     04        :37:03.587 (14.0%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      02:33:01.249 (48.1%)                      02:33:01.249 (48.1%) |  TOTALS      03:13:20.399 (72.3%)                      03:13:20.399 (72.3%) |  TOTALS      03:18:52.869 (75.0%)                      03:18:52.869 (75.0%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|
T8C8 (RPi2): --no-reorder (CURRENT DEFAULT)                                 | T8C8 (RPi2): dynamic scheduling; with full locks and stamps                 | T8C8 (RPi2): dynamic scheduling; with reduced locks and stamps              |
Total Build Time: 01:11:36.911 (wall clock)                                 | Total Build Time: 01:08:38.093 (wall clock)                                 | Total Build Time: 01:07:38.262 (wall clock)                                 |
Accum Build Time: 09:32:55.004 (8 slots)                                    | Accum Build Time: 09:08:44.421 (8 slots)                                    | Accum Build Time: 09:00:46.129 (8 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   02:57:26.083  (31.0%)  721    busy                               |   ACTIVE   04:20:31.812  (47.4%)  721    busy                               |   ACTIVE   04:25:07.203  (49.0%)  693    busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :20:02.589  (03.5%)  259                                       |   IDLE     04:40:40.140  (51.1%)  259                                       |   IDLE     04:32:43.401  (50.4%)  259                                       |
  LOCKED     :02:19.830  (00.4%)  2092                                      |   LOCKED     :03:20.483  (00.6%)  2092                                      |   LOCKED     :01:44.584  (00.3%)  779                                       |
  MUTEX      :  :05.431  (00.0%)  4      busy                               |   MUTEX      :  :04.596  (00.0%)  4      busy                               |   MUTEX      :  :05.811  (00.0%)  4      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.075  (00.0%)  1      stall                              |
  STALLED  06:10:19.769  (64.6%)  154    stall                              |   STALLED    :  :02.451  (00.0%)  29     stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :02:41.303  (00.5%)  2092                                      |   UNLOCK     :04:04.939  (00.7%)  2092                                      |   UNLOCK     :01:05.056  (00.2%)  779                                       |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    09:32:55.004  ( 100%)  5322                                      |   TOTAL    09:08:44.421  (99.9%)  5197                                      |   TOTAL    09:00:46.129  (99.9%)  2515                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          |
                                                                            |                                                                             |                                                                             |
154 job slots were held in a "stall" state for 06:10:19.769                 | 29 job slots were held in a "stall" state for 00:00:02.451                  | 1 job slots were held in a "stall" state for 00:00:00.075                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    01     :34:17.197 (06.0%)        |     01      01:11:34.171 (12.5%) |  #01    08     :37:33.990 (06.8%)        |     01      01:08:24.353 (12.5%) |  #01    02     :39:24.985 (07.3%)        |     01      01:07:35.408 (12.5%) |
 #02    06     :27:38.285 (04.8%)        |     02        :37:06.292 (06.5%) |  #02    02     :37:30.852 (06.8%)        |     02        :46:57.924 (08.6%) |  #02    05     :37:30.689 (06.9%)        |     02        :47:19.542 (08.7%) |
 #03    03     :27:33.860 (04.8%)        |     03        :28:01.370 (04.9%) |  #03    04     :36:28.128 (06.6%)        |     03        :32:12.485 (05.9%) |  #03    06     :36:33.690 (06.8%)        |     03        :32:48.771 (06.1%) |
 #04    04     :22:57.174 (04.0%)        |     04        :20:15.169 (03.5%) |  #04    06     :34:22.017 (06.3%)        |     04        :28:31.609 (05.2%) |  #04    08     :35:13.947 (06.5%)        |     04        :28:27.699 (05.3%) |
 #05    02     :22:34.407 (03.9%)        |     05        :13:16.384 (02.3%) |  #05    03     :33:47.309 (06.2%)        |     05        :25:30.069 (04.6%) |  #05    04     :33:06.583 (06.1%)        |     05        :26:07.983 (04.8%) |
 #06    07     :18:00.575 (03.1%)        |     06        :05:57.217 (01.0%) |  #06    05     :32:00.027 (05.8%)        |     06        :23:04.610 (04.2%) |  #06    03     :31:47.374 (05.9%)        |     06        :23:16.567 (04.3%) |
 #07    05     :16:33.050 (02.9%)        |     07        :01:20.676 (00.2%) |  #07    07     :25:40.519 (04.7%)        |     07        :20:45.537 (03.8%) |  #07    07     :26:50.035 (05.0%)        |     07        :21:23.097 (04.0%) |
 #08    08     :07:56.965 (01.4%)        |     08        :  :00.233 (00.0%) |  #08    01     :23:13.566 (04.2%)        |     08        :15:09.822 (02.8%) |  #08    01     :24:45.709 (04.6%)        |     08        :18:13.946 (03.4%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      02:57:31.514 (31.0%)                      02:57:31.514 (31.0%) |  TOTALS      04:20:36.408 (47.5%)                      04:20:36.408 (47.5%) |  TOTALS      04:25:13.014 (49.0%)                      04:25:13.014 (49.0%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|

RPi2, all addons (T4C8 and T8C8):

T4C8 (RPi2): --no-reorder (CURRENT DEFAULT)                                 | T4C8 (RPi2): dynamic scheduling; with full locks and stamps                 | T4C8 (RPi2): dynamic scheduling; with reduced locks and stamps              |
Total Build Time: 02:47:09.966 (wall clock)                                 | Total Build Time: 02:21:35.752 (wall clock)                                 | Total Build Time: 02:20:46.967 (wall clock)                                 |
Accum Build Time: 11:08:39.815 (4 slots)                                    | Accum Build Time: 09:26:22.963 (4 slots)                                    | Accum Build Time: 09:23:07.825 (4 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   05:46:48.581  (51.9%)  1554   busy                               |   ACTIVE   08:40:01.369  (91.8%)  1554   busy                               |   ACTIVE   08:43:43.376  (93.0%)  1554   busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :24.012  (00.1%)  30     busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :02:14.958  (00.3%)  658                                       |   IDLE       :32:10.174  (05.7%)  658                                       |   IDLE       :32:42.817  (05.8%)  660                                       |
  LOCKED     :04:30.715  (00.7%)  3466                                      |   LOCKED     :06:44.550  (01.2%)  3466                                      |   LOCKED     :03:48.879  (00.7%)  1655                                      |
  MUTEX      :  :05.904  (00.0%)  4      busy                               |   MUTEX      :  :04.944  (00.0%)  4      busy                               |   MUTEX      :  :05.217  (00.0%)  4      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |
  STALLED  05:09:40.773  (46.3%)  222    stall                              |   STALLED    :  :00.864  (00.0%)  13     stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :04:54.872  (00.7%)  3466                                      |   UNLOCK     :07:21.063  (01.3%)  3466                                      |   UNLOCK     :02:47.537  (00.5%)  1655                                      |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    11:08:39.815  ( 100%)  9400                                      |   TOTAL    09:26:22.963  ( 100%)  9161                                      |   TOTAL    09:23:07.825  ( 100%)  5528                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          | Peak concurrency: 4 out of 4 slots                                          |
                                                                            |                                                                             |                                                                             |
222 job slots were held in a "stall" state for 05:09:40.773                 | 13 job slots were held in a "stall" state for 00:00:00.864                  | 0 job slots were held in a "stall" state for 00:00:00.000                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    01   01:39:25.218 (14.9%)        |     01      02:47:03.295 (25.0%) |  #01    02   02:14:00.922 (23.7%)        |     01      02:21:34.144 (25.0%) |  #01    02   02:14:20.375 (23.9%)        |     01      02:20:46.279 (25.0%) |
 #02    04   01:32:16.920 (13.8%)        |     02      01:50:02.019 (16.5%) |  #02    03   02:13:40.414 (23.6%)        |     02      02:20:17.132 (24.8%) |  #02    04   02:12:41.272 (23.6%)        |     02      02:19:17.746 (24.7%) |
 #03    02   01:24:51.261 (12.7%)        |     03        :56:46.016 (08.5%) |  #03    04   02:06:21.097 (22.3%)        |     03      02:07:49.411 (22.6%) |  #03    03   02:09:33.875 (23.0%)        |     03      02:07:22.595 (22.6%) |
 #04    03   01:10:45.097 (10.6%)        |     04        :13:27.166 (02.0%) |  #04    01   02:06:03.879 (22.3%)        |     04      01:50:25.625 (19.5%) |  #04    01   02:07:13.070 (22.6%)        |     04      01:56:21.973 (20.7%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      05:47:18.496 (51.9%)                      05:47:18.496 (51.9%) |  TOTALS      08:40:06.312 (91.8%)                      08:40:06.312 (91.8%) |  TOTALS      08:43:48.592 (93.0%)                      08:43:48.592 (93.0%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|
T8C8 (RPi2): --no-reorder (CURRENT DEFAULT)                                 | T8C8 (RPi2): dynamic scheduling; with full locks and stamps                 | T8C8 (RPi2): dynamic scheduling; with reduced locks and stamps              |
Total Build Time: 02:30:40.259 (wall clock)                                 | Total Build Time: 02:20:37.786 (wall clock)                                 | Total Build Time: 02:20:12.413 (wall clock)                                 |
Accum Build Time: 20:05:21.782 (8 slots)                                    | Accum Build Time: 18:44:50.253 (8 slots)                                    | Accum Build Time: 18:41:27.859 (8 slots)                                    |
                                                                            |                                                                             |                                                                             |
Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            | Breakdown by status (all slots):                                            |
                                                                            |                                                                             |                                                                             |
  Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |   Status   Usage         ( Pct )  Count  State                              |
  ACTIVE   08:56:24.210  (44.5%)  1554   busy                               |   ACTIVE   14:37:51.894  (78.0%)  1554   busy                               |   ACTIVE   14:54:34.317  (79.8%)  1554   busy                               |
  FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |   FAILED     :  :00.000  (00.0%)  0                                         |
  GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |   GETPKG     :  :00.000  (00.0%)  0      busy                               |
  IDLE       :07:23.797  (00.6%)  658                                       |   IDLE     03:37:38.762  (19.3%)  658                                       |   IDLE     03:33:58.380  (19.1%)  660                                       |
  LOCKED     :08:57.144  (00.7%)  3466                                      |   LOCKED     :13:49.097  (01.2%)  3466                                      |   LOCKED     :07:18.878  (00.7%)  1655                                      |
  MUTEX      :  :05.781  (00.0%)  4      busy                               |   MUTEX      :  :05.396  (00.0%)  4      busy                               |   MUTEX      :  :04.691  (00.0%)  4      busy                               |
  MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |   MUTEX/W    :  :00.000  (00.0%)  0      stall                              |
  STALLED  10:42:44.425  (53.3%)  313    stall                              |   STALLED    :  :07.616  (00.0%)  46     stall                              |   STALLED    :  :00.000  (00.0%)  0      stall                              |
  UNLOCK     :09:46.426  (00.8%)  3466                                      |   UNLOCK     :15:17.488  (01.4%)  3466                                      |   UNLOCK     :05:31.593  (00.5%)  1655                                      |
  -------------------------------------                                     |   -------------------------------------                                     |   -------------------------------------                                     |
  TOTAL    20:05:21.782  ( 100%)  9461                                      |   TOTAL    18:44:50.253  ( 100%)  9194                                      |   TOTAL    18:41:27.859  ( 100%)  5528                                      |
                                                                            |                                                                             |                                                                             |
Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          | Peak concurrency: 8 out of 8 slots                                          |
                                                                            |                                                                             |                                                                             |
313 job slots were held in a "stall" state for 10:42:44.425                 | 46 job slots were held in a "stall" state for 00:00:07.616                  | 0 job slots were held in a "stall" state for 00:00:00.000                   |
                                                                            |                                                                             |                                                                             |
Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  | Slot usage (time in a "busy" state):     | Concurrency breakdown ("busy"):  |
                                         |                                  |                                          |                                  |                                          |                                  |
#Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) | #Rank  Slot  Usage        ( Pct )        | # of Slots  Usage        ( Pct ) |
 #01    03   01:20:30.070 (06.7%)        |     01      02:30:38.258 (12.5%) |  #01    03   01:56:29.519 (10.4%)        |     01      02:20:36.102 (12.5%) |  #01    07   01:55:43.385 (10.3%)        |     01      02:20:11.269 (12.5%) |
 #02    01   01:17:41.816 (06.4%)        |     02      01:54:39.138 (09.5%) |  #02    01   01:52:28.983 (10.0%)        |     02      02:09:32.995 (11.5%) |  #02    06   01:55:31.569 (10.3%)        |     02      02:09:57.905 (11.6%) |
 #03    05   01:12:03.882 (06.0%)        |     03      01:39:37.255 (08.3%) |  #03    05   01:52:28.610 (10.0%)        |     03      01:54:32.143 (10.2%) |  #03    01   01:54:17.916 (10.2%)        |     03      01:54:12.642 (10.2%) |
 #04    06   01:11:48.799 (06.0%)        |     04      01:29:43.523 (07.4%) |  #04    07   01:50:04.457 (09.8%)        |     04      01:49:26.829 (09.7%) |  #04    02   01:53:55.036 (10.2%)        |     04      01:49:50.447 (09.8%) |
 #05    07   01:09:25.535 (05.8%)        |     05        :50:51.617 (04.2%) |  #05    06   01:48:46.595 (09.7%)        |     05      01:46:09.107 (09.4%) |  #05    03   01:51:11.549 (09.9%)        |     05      01:46:51.201 (09.5%) |
 #06    08   01:05:59.530 (05.5%)        |     06        :20:36.814 (01.7%) |  #06    08   01:47:55.136 (09.6%)        |     06      01:43:18.542 (09.2%) |  #06    04   01:50:30.266 (09.9%)        |     06      01:43:46.172 (09.3%) |
 #07    02     :49:45.196 (04.1%)        |     07        :08:27.168 (00.7%) |  #07    02   01:45:12.608 (09.4%)        |     07      01:38:04.326 (08.7%) |  #07    05   01:47:17.527 (09.6%)        |     07      01:41:20.117 (09.0%) |
 #08    04     :49:15.162 (04.1%)        |     08        :01:56.217 (00.2%) |  #08    04   01:44:31.381 (09.3%)        |     08      01:16:17.246 (06.8%) |  #08    08   01:46:11.759 (09.5%)        |     08      01:28:29.256 (07.9%) |
-----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- | -----------------------------------------+--------------------------------- |
 TOTALS      08:56:29.990 (44.5%)                      08:56:29.990 (44.5%) |  TOTALS      14:37:57.290 (78.0%)                      14:37:57.290 (78.0%) |  TOTALS      14:54:39.008 (79.8%)                      14:54:39.008 (79.8%) |
****************************************************************************|*****************************************************************************|*****************************************************************************|

@MilhouseVH
Copy link
Contributor Author

Drop parallel and switch to xargs for json worker generation - thanks @dhewg.

Also, add a fix for a couple of simple add-ons that were breaking due to lack of 7za when being packaged before p7zip:host is built. Doh.

@MilhouseVH
Copy link
Contributor Author

Squashed the latest commits.

MilhouseVH and others added 17 commits January 15, 2020 18:49
cp (and potentially mkdir -p) are not atomic, and we have seen situations where two packages
concurrently copying the same file (eg. the udev rule for xf86-video-nvidia and
xf86-video-nvidia-legacy) will succeed for one package but the other package fails with
a "file exists" error (as the file didn't exist when it checked, but does exist when it
actually copies the file). Not even cp -f will avoid this issue.

There are several workarounds, but the most practical (and general) solution is to ensure
sequential updates of the image and shared sysroot directories.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants