diff options
author | Arnstein Ressem <aressem@gmail.com> | 2021-08-23 09:23:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-23 09:23:21 +0200 |
commit | 0ea783747646f0433480983f2e084632e0eb421c (patch) | |
tree | 9d5c481d38c1b13670afe683382a58ef40cd7962 /vespabase | |
parent | 44bdbb1067d3fa0a699d8ccf63369e3fa199f76a (diff) |
Revert "Revert "Reapply "Fail Vespa startup if no numactl ."""
Diffstat (limited to 'vespabase')
-rwxr-xr-x | vespabase/src/common-env.sh | 27 | ||||
-rwxr-xr-x | vespabase/src/start-cbinaries.sh | 18 |
2 files changed, 28 insertions, 17 deletions
diff --git a/vespabase/src/common-env.sh b/vespabase/src/common-env.sh index eb60154071c..d5f8381432f 100755 --- a/vespabase/src/common-env.sh +++ b/vespabase/src/common-env.sh @@ -292,3 +292,30 @@ log_debug_message () { log_warning_message () { log_message "warning" "$*" 1>&2 } + +get_numa_ctl_cmd () { + if ! type numactl &> /dev/null; then + echo "FATAL: Could not find required program numactl." + exit 1 + fi + + numnodes=$(numactl --hardware 2>/dev/null | + grep available | + awk '$3 == "nodes" { print $2 }') + + if [ -n "$numanodes" ]; then + # We are allowed to use numactl and have NUMA nodes + if [ "$VESPA_AFFINITY_CPU_SOCKET" ] && + [ "$numnodes" -gt 1 ] + then + node=$(($VESPA_AFFINITY_CPU_SOCKET % $numnodes)) + numactlcmd="numactl --cpunodebind=$node --membind=$node" + else + numactlcmd="numactl --interleave all" + fi + else + numactlcmd="" + fi + + echo $numactlcmd +} diff --git a/vespabase/src/start-cbinaries.sh b/vespabase/src/start-cbinaries.sh index f17829aa081..1ef45a71dec 100755 --- a/vespabase/src/start-cbinaries.sh +++ b/vespabase/src/start-cbinaries.sh @@ -163,29 +163,13 @@ configure_vespa_malloc () { fi } -configure_numa_ctl () { - numactl="" - if numactl --interleave all true &> /dev/null; then - # We are allowed to use numactl - numactl="numactl --interleave all" - if [ "$VESPA_AFFINITY_CPU_SOCKET" ]; then - numcpu=`numactl --hardware 2>/dev/null | grep available | cut -d' ' -f2` - if [ "$numcpu" ] && [ "$numcpu" -gt 1 ]; then - log_debug_message "Starting $0 with affinity $VESPA_AFFINITY_CPU_SOCKET out of $numcpu" - node=$(($VESPA_AFFINITY_CPU_SOCKET % $numcpu)) - numactl="numactl --cpunodebind=$node --membind=$node" - fi - fi - fi -} - configure_valgrind configure_huge_pages configure_use_madvise configure_vespa_malloc if $no_valgrind ; then - configure_numa_ctl + numactl=$(get_numa_ctl_cmd) ulimit -c unlimited log_debug_message "Starting $0 with : " \ $numactl env LD_PRELOAD=$LD_PRELOAD $0-bin "$@" |