[jhalfs] branch xry111/parallelism updated: Separate parallelization from optimization

"Git Owner" ([email protected] via alfs-discuss Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.automated
Message-ID <169445377880.17865.8327869530301951346@rivendell.linuxfromscratch.org>
This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch xry111/parallelism
in repository jhalfs.

The following commit(s) were added to refs/heads/xry111/parallelism by this push:
     new 74601a7  Separate parallelization from optimization
74601a7 is described below

commit 74601a7f0673b4c60147db2bb4749d04a710734b
Author: Pierre Labastie <[email protected]>
AuthorDate: Mon Sep 11 19:22:13 2023 +0200

    Separate parallelization from optimization
    
    Also, add cpu set choice and the possibility to use nproc
---
 Config.in | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 65 insertions(+), 17 deletions(-)

diff --git a/Config.in b/Config.in
index 4bf1091..cfe4166 100644
--- a/Config.in
+++ b/Config.in
@@ -1,3 +1,11 @@
+# Check for "nproc" presence:
+config HAVE_NPROC
+    def_bool $(shell,if nproc &>/dev/null; then echo y; else echo n; fi)
+
+# Check for "cpuset controller in cgroup v2" presence:
+config HAVE_CGROUP
+    def_bool $(shell,if grep -q cpuset /sys/fs/cgroup/cgroup.controllers 2>/dev/null; then echo y; else echo n; fi)
+
 menu "BOOK Settings"
 
     #--- BOOK/script
@@ -811,7 +819,7 @@ depends on !BOOK_BLFS
 
     #--- Optimizations
     config    CONFIG_OPTIMIZE
-        bool    "Optimization and parallelization"
+        bool    "Optimization"
         default    n
         help
             #   Opens a menu for various optimization settings:
@@ -821,16 +829,9 @@ depends on !BOOK_BLFS
             # WARNING: The use of build optimizations may lead to build issues.
             #   If the system doesn't work as expected, please rebuild
             #   without optimizations before asking for support.
-    menu    "Parallelization and Optimization settings"
+    menu    "Optimization settings"
         depends on CONFIG_OPTIMIZE
 
-    config    N_PARALLEL
-        int "Number of parallel `make' jobs"
-        default 1
-        help
-            #-- The usual recommandation is (number of CPU cores)+1
-            #   Do not set for meaningful SBU calculations.
-
     choice
         prompt "Optimization level"
         default OPT_1
@@ -845,14 +846,6 @@ depends on !BOOK_BLFS
 
     endchoice
 
-    config    REALSBU
-        bool    "Build Binutls pass1 without optimization (Real SBU)"
-        depends on OPT_2
-        default    n
-        help
-           #-- Use -j1 in make invokation for Binutils pass1 to
-           #   get a valid SBU value.
-
     endmenu # Optimization settings
     config    OPTIMIZE
         int
@@ -861,6 +854,61 @@ depends on !BOOK_BLFS
         default    "2"    if OPT_2
 
     #--- End Optimizations
+    #--- Parallelism
+    menu "Parallelism settings"
+    if HAVE_NPROC
+        config ALL_CORES
+        bool "Use all cores as in the book"
+        default y
+        help
+              Use book instructions as written for parallelism. If you
+              answer no, then jhalfs will fall back to a static number of
+              cores, defined below. If you answer y, and your system
+              supports it, you'll be asked for a cpu set to use.
+
+        if HAVE_CGROUP
+            config CPUSET
+            string "set of cpus to use, or 'all' for all cpus"
+            default "all"
+            help
+                 See "List format" in cpuset(7). Choosing cpus depend
+                 on the topology of your processors. Sometimes two
+                 hyperthreads on the same core are numbered consecutively.
+                 For example for using all cores and no hyperthreading on
+                 a Haswell, use "0,2,4,6". Other brands may have a different
+                 topology, and may require e.g. "0-3" to use the first 4 cores.
+                 If not sure, keep the default.
+        endif
+        if !HAVE_CGROUP
+            config CPUSET
+            string
+            default "all"
+        endif
+
+    endif # HAVE_NPROC
+    if !HAVE_NPROC
+        config ALL_CORES
+        bool
+        default n
+    endif
+
+    config    N_PARALLEL
+        int "Number of parallel `make' jobs"
+        depends on !ALL_CORES
+        default 1
+        help
+            #-- The usual recommandation is (number of CPU cores)+1
+            #   Do not set for meaningful SBU calculations.
+
+    config    REALSBU
+        bool    "Build Binutls pass1 without parallelism (Real SBU)"
+        depends on ALL_CORES != 1
+        default    n
+        help
+           #-- Use -j1 in make invokation for Binutils pass1 to
+           #   get a valid SBU value.
+    endmenu # parallelism
+
 
     #-- Internal Settings
     menu "Internal Settings (WARNING: for jhalfs developers only)"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

-- 
http://lists.linuxfromscratch.org/sympa/info/alfs-discuss
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.