From e2c3f6f933aefc7b3fee659b9831d0ddd0689d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 21 Feb 2014 13:44:54 +0100 Subject: [PATCH] [dist] make hugetblfs registration compatible with systemd --- dist/obsstoragesetup | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dist/obsstoragesetup b/dist/obsstoragesetup index f109fa17970..d5c95cd9e12 100755 --- a/dist/obsstoragesetup +++ b/dist/obsstoragesetup @@ -405,22 +405,22 @@ EOF echo "OBS_INSTANCE_MEMORY=\"$INSTANCEMEM\"" >> /etc/buildhost.config if grep ^flags /proc/cpuinfo | egrep -q " (svm|vmx) " && test -n "$RUN_VIRT"; then # try to use hugetlb on kvm - if ! grep -q \ /hugetlbfs /proc/mounts; then - mkdir -p /hugetlbfs - HUGETLBINSTANCEMEM=$(( ($INSTANCEMEM * 512) / 1024 )) # 2M page sizes - HUGETLMEM=$(( $HUGETLBINSTANCEMEM * $OBS_WORKER_INSTANCES )) - # register huge table memory pages - echo "$HUGETLMEM" > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - # enable it if it was successful - if [ "$HUGETLMEM" == `cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages` ] && \ - mount hugetlbfs /hugetlbfs -t hugetlbfs; then - echo "OBS_VM_USE_HUGETLBFS=\"/hugetlbfs\"" >> /etc/buildhost.config - else - echo "WARNING: registration of huge table memory pages failed!" - echo "Just `cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages` of $HUGETLMEM registered, resetting ..." - echo "0" > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - fi - fi + mkdir -p /dev/hugetlbfs # systemd may have mounted it already + HUGETLBINSTANCEMEM=$(( ($INSTANCEMEM * 512) / 1024 )) # 2M page sizes + HUGETLMEM=$(( $HUGETLBINSTANCEMEM * $OBS_WORKER_INSTANCES )) + # register huge table memory pages + echo "$HUGETLMEM" > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages + # enable it if it was successful + if [ "$HUGETLMEM" == `cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages` ]; then + grep -q \ /dev/hugetlbfs /proc/mounts || \ + mount hugetlbfs /dev/hugetlbfs -t hugetlbfs + grep -q \ /dev/hugetlbfs /proc/mounts && \ + echo "OBS_VM_USE_HUGETLBFS=\"/dev/hugetlbfs\"" >> /etc/buildhost.config + else + echo "WARNING: registration of huge table memory pages failed!" + echo "Just `cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages` of $HUGETLMEM registered, resetting ..." + echo "0" > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages + fi fi # append user presets echo "" >> /etc/buildhost.config