200 lines
6.2 KiB
Bash
200 lines
6.2 KiB
Bash
#!/bin/sh
|
|
|
|
USELTP=1
|
|
USEOSTEST=0
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "usage: C1181.sh <arch>"
|
|
exit 1
|
|
fi
|
|
|
|
. ../../common.sh
|
|
|
|
if [ -f "./$1_config" ]; then
|
|
. ./$1_config
|
|
else
|
|
echo "$1 is unexpected arch"
|
|
exit 1
|
|
fi
|
|
|
|
tid=001
|
|
echo "*** CT$tid start *******************************"
|
|
echo "** case: THP_DISABLED"
|
|
./set_thp_and_exec 1 ${MCEXEC} ./check_thp 1 | tee ./CT${tid}.txt
|
|
echo "** case: THP_ENABLED"
|
|
./set_thp_and_exec 0 ${MCEXEC} ./check_thp 0 | tee -a ./CT${tid}.txt
|
|
ok=`grep "\[ OK \]" CT${tid}.txt | wc -l`
|
|
ng=`grep "\[ NG \]" CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|
|
|
|
LARGE_PAGE_STR="large page allocation"
|
|
echo ""
|
|
tid=002
|
|
echo "*** CT$tid start *******************************"
|
|
echo "** case: THP_DISABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 1 ${MCEXEC} ./mmap_large
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_01.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_01.txt &> /dev/null ; then
|
|
echo "[ NG ] THP is Working" | tee ./CT${tid}.txt
|
|
else
|
|
echo "[ OK ] THP is NOT Working" | tee ./CT${tid}.txt
|
|
fi
|
|
|
|
echo "** case: THP_ENABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 0 ${MCEXEC} ./mmap_large
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_02.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_02.txt &> /dev/null ; then
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_02.txt | tail -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${MMAP_LARGE}" ]; then
|
|
echo "[ OK ] THP is Working well" | tee -a ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] THP is Working, but pgsize is INVALID" | tee -a ./CT${tid}.txt
|
|
fi
|
|
else
|
|
echo "[ NG ] when THP is ENABLED, NOT Working" | tee -a ./CT${tid}.txt
|
|
fi
|
|
|
|
ok=`grep "\[ OK \]" CT${tid}.txt | wc -l`
|
|
ng=`grep "\[ NG \]" CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|
|
|
|
echo ""
|
|
tid=003
|
|
echo "*** CT$tid start *******************************"
|
|
echo "** case: THP_DISABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 1 ${MCEXEC} ./shm_large
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_01.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_01.txt &> /dev/null ; then
|
|
echo "[ NG ] THP is Working" | tee ./CT${tid}.txt
|
|
else
|
|
echo "[ OK ] THP is NOT Working" | tee ./CT${tid}.txt
|
|
fi
|
|
|
|
echo "** case: THP_ENABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 0 ${MCEXEC} ./shm_large
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_02.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_02.txt &> /dev/null ; then
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_02.txt | tail -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${SHM_LARGE}" ]; then
|
|
echo "[ OK ] THP is Working well" | tee -a ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] THP is Working, but pgsize is INVALID" | tee -a ./CT${tid}.txt
|
|
fi
|
|
else
|
|
echo "[ NG ] large page is NOT Working" | tee -a ./CT${tid}.txt
|
|
fi
|
|
|
|
ok=`grep "\[ OK \]" CT${tid}.txt | wc -l`
|
|
ng=`grep "\[ NG \]" CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|
|
|
|
# init for hugetlbfs test
|
|
sudo mkdir -p /mnt/hugetlbfs-2M
|
|
sudo mount -t hugetlbfs -o mode=777,pagesize=2m none /mnt/hugetlbfs-2M
|
|
|
|
sudo mkdir -p /mnt/hugetlbfs-1G
|
|
sudo mount -t hugetlbfs -o mode=777,pagesize=1g none /mnt/hugetlbfs-1G
|
|
echo ""
|
|
tid=004
|
|
echo "*** CT$tid start *******************************"
|
|
echo "** case: THP_DISABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 1 ${MCEXEC} ./mmap_hugetlbfs
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_01.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_01.txt &> /dev/null ; then
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_01.txt | head -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${SIZE_2M}" ]; then
|
|
echo "[ OK ] hugetlbfs-2M is Working well" | tee ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] pgsize is INVALID" | tee ./CT${tid}.txt
|
|
fi
|
|
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_01.txt | tail -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${SIZE_1G}" ]; then
|
|
echo "[ OK ] hugetlbfs-1G is Working well" | tee -a ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] pgsize is INVALID" | tee -a ./CT${tid}.txt
|
|
fi
|
|
else
|
|
echo "[ NG ] hugetlbfs-1G is NOT Working" | tee ./CT${tid}.txt
|
|
fi
|
|
|
|
echo "** case: THP_ENABLED"
|
|
${IHKOSCTL} 0 clear_kmsg
|
|
./set_thp_and_exec 0 ${MCEXEC} ./mmap_hugetlbfs
|
|
${IHKOSCTL} 0 kmsg > ./CT${tid}_02.txt
|
|
if grep "${LARGE_PAGE_STR}" ./CT${tid}_02.txt &> /dev/null ; then
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_02.txt | head -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${SIZE_2M}" ]; then
|
|
echo "[ OK ] hugetlbfs-2M is Working well" | tee -a ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] pgsize is INVALID" | tee -a ./CT${tid}.txt
|
|
fi
|
|
|
|
pgsize_allocated=`grep "large page allocation" ./CT${tid}_02.txt | tail -1 | grep -oE 'size: \w*' | sed 's/size: //'`
|
|
echo "pgsize_allocated: ${pgsize_allocated}"
|
|
if [ "$pgsize_allocated" == "${SIZE_1G}" ]; then
|
|
echo "[ OK ] hugetlbfs-1G is Working well" | tee -a ./CT${tid}.txt
|
|
else
|
|
echo "[ NG ] pgsize is INVALID" | tee -a ./CT${tid}.txt
|
|
fi
|
|
else
|
|
echo "[ NG ] hugetlbfs-1G is NOT Working" | tee -a ./CT${tid}.txt
|
|
fi
|
|
|
|
ok=`grep "\[ OK \]" CT${tid}.txt | wc -l`
|
|
ng=`grep "\[ NG \]" CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|
|
# fini for hugetlbfs test
|
|
sudo umount /mnt/hugetlbfs-2M
|
|
sudo umount /mnt/hugetlbfs-1G
|
|
|
|
echo ""
|
|
tid=005
|
|
echo "*** CT$tid start *******************************"
|
|
sudo ${MCEXEC} ${LTPBIN}/prctl01 2>&1 | tee ./CT${tid}.txt
|
|
ok=`grep TPASS CT${tid}.txt | wc -l`
|
|
ng=`grep TFAIL CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|
|
|
|
echo ""
|
|
tid=006
|
|
echo "*** CT$tid start *******************************"
|
|
sudo ${MCEXEC} ${LTPBIN}/prctl02 2>&1 | tee ./CT${tid}.txt
|
|
ok=`grep TPASS CT${tid}.txt | wc -l`
|
|
ng=`grep TFAIL CT${tid}.txt | wc -l`
|
|
if [ $ng = 0 ]; then
|
|
echo "*** CT$tid: PASSED (ok:$ok, ng:$ng)"
|
|
else
|
|
echo "*** CT$tid: FAILED (ok:$ok, ng:$ng)"
|
|
fi
|