Separate parallelization from optimization
Also, add cpu set choice and the possibility to use nproc
This commit is contained in:
parent
1b02a9acff
commit
74601a7f06
1 changed files with 65 additions and 17 deletions
82
Config.in
82
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"
|
menu "BOOK Settings"
|
||||||
|
|
||||||
#--- BOOK/script
|
#--- BOOK/script
|
||||||
|
@ -811,7 +819,7 @@ depends on !BOOK_BLFS
|
||||||
|
|
||||||
#--- Optimizations
|
#--- Optimizations
|
||||||
config CONFIG_OPTIMIZE
|
config CONFIG_OPTIMIZE
|
||||||
bool "Optimization and parallelization"
|
bool "Optimization"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
# Opens a menu for various optimization settings:
|
# 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.
|
# WARNING: The use of build optimizations may lead to build issues.
|
||||||
# If the system doesn't work as expected, please rebuild
|
# If the system doesn't work as expected, please rebuild
|
||||||
# without optimizations before asking for support.
|
# without optimizations before asking for support.
|
||||||
menu "Parallelization and Optimization settings"
|
menu "Optimization settings"
|
||||||
depends on CONFIG_OPTIMIZE
|
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
|
choice
|
||||||
prompt "Optimization level"
|
prompt "Optimization level"
|
||||||
default OPT_1
|
default OPT_1
|
||||||
|
@ -845,14 +846,6 @@ depends on !BOOK_BLFS
|
||||||
|
|
||||||
endchoice
|
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
|
endmenu # Optimization settings
|
||||||
config OPTIMIZE
|
config OPTIMIZE
|
||||||
int
|
int
|
||||||
|
@ -861,6 +854,61 @@ depends on !BOOK_BLFS
|
||||||
default "2" if OPT_2
|
default "2" if OPT_2
|
||||||
|
|
||||||
#--- End Optimizations
|
#--- 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
|
#-- Internal Settings
|
||||||
menu "Internal Settings (WARNING: for jhalfs developers only)"
|
menu "Internal Settings (WARNING: for jhalfs developers only)"
|
||||||
|
|
Reference in a new issue