tools: fix setup with huge page size other than 2MB
authorJerin Jacob <jerin.jacob@caviumnetworks.com>
Mon, 14 Mar 2016 12:15:31 +0000 (17:45 +0530)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 24 Mar 2016 21:04:10 +0000 (22:04 +0100)
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
tools/setup.sh

index faa5eee..b290b87 100755 (executable)
@@ -44,6 +44,8 @@ echo "--------------------------------------------------------------------------
 echo " RTE_SDK exported as $RTE_SDK"
 echo "------------------------------------------------------------------------------"
 
+HUGEPGSZ=`cat /proc/meminfo  | grep Hugepagesize | cut -d : -f 2 | tr -d ' '`
+
 #
 # Application EAL parameters for setting memory options (amount/channels/ranks).
 #
@@ -325,7 +327,7 @@ clear_huge_pages()
 {
        echo > .echo_tmp
        for d in /sys/devices/system/node/node? ; do
-               echo "echo 0 > $d/hugepages/hugepages-2048kB/nr_hugepages" >> .echo_tmp
+               echo "echo 0 > $d/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >> .echo_tmp
        done
        echo "Removing currently reserved hugepages"
        sudo sh .echo_tmp
@@ -342,13 +344,13 @@ set_non_numa_pages()
        clear_huge_pages
 
        echo ""
-       echo "  Input the number of 2MB pages"
-       echo "  Example: to have 128MB of hugepages available, enter '64' to"
-       echo "  reserve 64 * 2MB pages"
+       echo "  Input the number of ${HUGEPGSZ} hugepages"
+       echo "  Example: to have 128MB of hugepages available in a 2MB huge page system,"
+       echo "  enter '64' to reserve 64 * 2MB pages"
        echo -n "Number of pages: "
        read Pages
 
-       echo "echo $Pages > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages" > .echo_tmp
+       echo "echo $Pages > /sys/kernel/mm/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" > .echo_tmp
 
        echo "Reserving hugepages"
        sudo sh .echo_tmp
@@ -365,8 +367,8 @@ set_numa_pages()
        clear_huge_pages
 
        echo ""
-       echo "  Input the number of 2MB pages for each node"
-       echo "  Example: to have 128MB of hugepages available per node,"
+       echo "  Input the number of ${HUGEPGSZ} hugepages for each node"
+       echo "  Example: to have 128MB of hugepages available per node in a 2MB huge page system,"
        echo "  enter '64' to reserve 64 * 2MB pages on each node"
 
        echo > .echo_tmp
@@ -374,7 +376,7 @@ set_numa_pages()
                node=$(basename $d)
                echo -n "Number of pages for $node: "
                read Pages
-               echo "echo $Pages > $d/hugepages/hugepages-2048kB/nr_hugepages" >> .echo_tmp
+               echo "echo $Pages > $d/hugepages/hugepages-${HUGEPGSZ}/nr_hugepages" >> .echo_tmp
        done
        echo "Reserving hugepages"
        sudo sh .echo_tmp