From cf0406602ab0db66be1da3371c1a229e25a59237 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Fri, 15 Sep 2017 12:16:04 +0100 Subject: CI: Update hugepages configuration Use the number of free hugepages to correctly set hugepages configuration. Limit the number of allocated hugepages to avoid memory exhaustion. Change-Id: Id5239200579f8c43706ffcc769e4963280b9eb2b Signed-off-by: Martin Klozik --- ci/build-vsperf.sh | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/ci/build-vsperf.sh b/ci/build-vsperf.sh index cee0e525..eaab9977 100755 --- a/ci/build-vsperf.sh +++ b/ci/build-vsperf.sh @@ -422,8 +422,22 @@ function dependencies_check() { # configure hugepages function configure_hugepages() { - sudo bash -c "echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages" - sudo bash -c "echo 0 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages" + HP_MAX=8192 + HP_REQUESTED=2048 + HP_NR=`cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages` + HP_FREE=`cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/free_hugepages` + # check if HP must be (re)configured + if [ $HP_FREE -lt $HP_REQUESTED ] ; then + HP_NR_NEW=$(($HP_NR+($HP_REQUESTED-$HP_FREE))) + if [ $HP_NR_NEW -gt $HP_MAX ] ; then + HP_NR_NEW=$HP_MAX + fi + sudo bash -c "echo $HP_NR_NEW > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages" + fi + + if [ -f /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages ] ; then + sudo bash -c "echo 0 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages" + fi } # dump hugepages configuration @@ -464,7 +478,11 @@ dependencies_check initialize_logdir # configure hugepages +echo "Configure hugepages" +echo "===================" configure_hugepages +hugepages_info | grep -v '^--' +echo # execute job based on passed parameter case $1 in -- cgit 1.2.3-korg