aboutsummaryrefslogtreecommitdiffstats
path: root/vespabase
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2021-08-20 11:06:21 +0200
committerGitHub <noreply@github.com>2021-08-20 11:06:21 +0200
commit07ea15de3724cbe48a8a0a3e90bf61538d81adae (patch)
tree2b356fccc15cf060cbbf24f567ba8a85b9cdfe42 /vespabase
parenta8054db6cdf4ea764c5a333c5448a53f82a499f3 (diff)
Revert "Revert "Fail Vespa startup if no numactl .""
Diffstat (limited to 'vespabase')
-rwxr-xr-xvespabase/src/common-env.sh27
-rwxr-xr-xvespabase/src/start-cbinaries.sh17
2 files changed, 28 insertions, 16 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..ac841793f75 100755
--- a/vespabase/src/start-cbinaries.sh
+++ b/vespabase/src/start-cbinaries.sh
@@ -163,28 +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
+ numactl=$(get_numa_ctl_cmd)
configure_numa_ctl
ulimit -c unlimited
log_debug_message "Starting $0 with : " \