guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/04: build: Cap build parallelism on i686.


From: guix-commits
Subject: 03/04: build: Cap build parallelism on i686.
Date: Sat, 11 Apr 2020 18:20:32 -0400 (EDT)

civodul pushed a commit to branch version-1.1.0
in repository guix.

commit 27a1e4fd109f6df9f687958cfead0d3e41e330aa
Author: Ludovic Courtès <address@hidden>
AuthorDate: Sun Apr 12 00:00:59 2020 +0200

    build: Cap build parallelism on i686.
    
    Works around <https://bugs.gnu.org/40522>.
    
    * build-aux/compile-all.scm (parallel-job-count*): New procedure.
    <top level>: Use it instead of 'parallel-job-count'.
---
 build-aux/compile-all.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/build-aux/compile-all.scm b/build-aux/compile-all.scm
index e9f3e95..ad75e33 100644
--- a/build-aux/compile-all.scm
+++ b/build-aux/compile-all.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <address@hidden>
-;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <address@hidden>
+;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +79,14 @@ to 'make'."
                        (current-processor-count))))
                 (loop tail)))))))))
 
+(define (parallel-job-count*)
+  ;; XXX: Work around memory requirements not sustainable on i686 above '-j4'
+  ;; or so: <https://bugs.gnu.org/40522>.
+  (let ((count (parallel-job-count)))
+    (if (string-prefix? "i686" %host-type)
+        (min count 4)
+        count)))
+
 (define (% completed total)
   "Return the completion percentage of COMPLETED over TOTAL as an integer."
   (inexact->exact (round (* 100. (/ completed total)))))
@@ -95,7 +103,7 @@ to 'make'."
      (lambda ()
        (compile-files srcdir (getcwd)
                       (filter file-needs-compilation? files)
-                      #:workers (parallel-job-count)
+                      #:workers (parallel-job-count*)
                       #:host host
                       #:report-load (lambda (file total completed)
                                       (when file



reply via email to

[Prev in Thread] Current Thread [Next in Thread]