From 5c652aebfc8d5cf5328ff478e1cedae310b68b78 Mon Sep 17 00:00:00 2001 From: Arnstein Ressem Date: Sat, 21 Aug 2021 09:29:27 +0200 Subject: Revert "Reapply "Fail Vespa startup if no numactl ."" --- vespabase/src/common-env.sh | 27 --------------------------- vespabase/src/start-cbinaries.sh | 18 +++++++++++++++++- 2 files changed, 17 insertions(+), 28 deletions(-) (limited to 'vespabase/src') diff --git a/vespabase/src/common-env.sh b/vespabase/src/common-env.sh index d5f8381432f..eb60154071c 100755 --- a/vespabase/src/common-env.sh +++ b/vespabase/src/common-env.sh @@ -292,30 +292,3 @@ 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 1ef45a71dec..f17829aa081 100755 --- a/vespabase/src/start-cbinaries.sh +++ b/vespabase/src/start-cbinaries.sh @@ -163,13 +163,29 @@ 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 - numactl=$(get_numa_ctl_cmd) + configure_numa_ctl ulimit -c unlimited log_debug_message "Starting $0 with : " \ $numactl env LD_PRELOAD=$LD_PRELOAD $0-bin "$@" -- cgit v1.2.3