integration of DMM+lwip testscripts
[csit.git] / tests / dmm / dmm_scripts / setup_hugepage.sh
1 #!/bin/bash -x
2
3 # check and setup the hugepages
4 SYS_HUGEPAGE=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
5 hugepageFree=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages)
6
7 if [ ${SYS_HUGEPAGE} -lt 1536 ] || [ $hugepageFree -eq 0 ]; then
8     MOUNT=$(mount | grep /mnt/nstackhuge)
9     count=$(mount | grep /mnt/nstackhuge | wc -l)
10
11     while [ "${MOUNT}" != "" ] || [ "${count}" -ne 0 ]
12     do
13         sudo umount /mnt/nstackhuge
14         sleep 1
15         MOUNT=$(mount | grep /mnt/nstackhuge)
16         count=$[$count -1]
17     done
18
19     sock_count=$(lscpu | grep 'Socket(s):' | head -1 | awk '{print $2}')
20     ls -l /sys/devices/system/node/
21
22     while [ "${sock_count}" -ne 0 ]
23     do
24         sock_count=$[$sock_count - 1]
25         echo 1536 | sudo tee /sys/devices/system/node/node"$sock_count"/hugepages/hugepages-2048kB/nr_hugepages
26     done
27
28     sudo mkdir -p /mnt/nstackhuge
29     sudo mount -t hugetlbfs -o pagesize=2M none /mnt/nstackhuge/
30     test $? -eq 0 || exit 1
31 else
32     sudo mkdir -p /mnt/nstackhuge
33     sudo mount -t hugetlbfs -o pagesize=2M none /mnt/nstackhuge/
34 fi
35
36 cat /proc/meminfo
37 exit 0