123 lines
3.9 KiB
Diff
123 lines
3.9 KiB
Diff
From 09d294e8d83151fb76a7fc741bc6251c0b171e25 Mon Sep 17 00:00:00 2001
|
|
From: Harish <harish@linux.vnet.ibm.com>
|
|
Date: Wed, 27 Jun 2018 22:29:10 +0530
|
|
Subject: [PATCH 4/7] Fix: regress test numastat function and few test fixes
|
|
|
|
nstat function previously assumed node indexes to be contiguous
|
|
and get the numastat of the required statname. When run on a
|
|
machine with combinations of memory/memory-less nodes in a
|
|
non-contiguous way, the test fetches wrong stats and fails. This
|
|
patch finds the index of the given node and returns proper value.
|
|
|
|
Signed-off-by: Harish <harish@linux.vnet.ibm.com>
|
|
Signed-off-by: Pingfan Liu <piliu@redhat.com>
|
|
---
|
|
test/regress | 42 +++++++++++++++++++++---------------------
|
|
1 file changed, 21 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/test/regress b/test/regress
|
|
index c0cf6d7..f06b22f 100755
|
|
--- a/test/regress
|
|
+++ b/test/regress
|
|
@@ -47,9 +47,11 @@ failed() {
|
|
# nstat statname node
|
|
nstat() {
|
|
sleep $STAT_INTERVAL
|
|
+ nid=node$2
|
|
+ id=`numastat | head -1 | awk -v node=$nid '{ for (i = 1; i <= NF; ++i) if($i==node) print i; exit }'`
|
|
declare -a fields
|
|
numastat | grep $1 | while read -a fields ; do
|
|
- echo ${fields[$[1 + $2]]}
|
|
+ echo ${fields[$id]}
|
|
done
|
|
}
|
|
|
|
@@ -89,14 +91,13 @@ _test_process_state() {
|
|
test_process_state()
|
|
{
|
|
declare -i n0=${node[0]} n1=${node[1]}
|
|
-
|
|
_test_process_state --interleave=$n1
|
|
|
|
- a0=`nstat interleave_hit 0`
|
|
- a1=`nstat interleave_hit 1`
|
|
+ a0=`nstat interleave_hit $n0`
|
|
+ a1=`nstat interleave_hit $n1`
|
|
_test_process_state --interleave=$n0,$n1
|
|
- b0=`nstat interleave_hit 0`
|
|
- b1=`nstat interleave_hit 1`
|
|
+ b0=`nstat interleave_hit $n0`
|
|
+ b1=`nstat interleave_hit $n1`
|
|
if [ $(expr $b1 - $a1) -lt $HALFPAGES ]; then
|
|
echo "interleaving test failed $n1 $b1 $a1"
|
|
failed
|
|
@@ -109,19 +110,18 @@ test_process_state()
|
|
_test_process_state --interleave=all
|
|
_test_process_state --membind=all
|
|
|
|
- a=$(expr $(nstat numa_hit 0) + $(nstat numa_hit 1))
|
|
+ a=$(expr $(nstat numa_hit $n0) + $(nstat numa_hit $n1))
|
|
_test_process_state --membind=$n0,$n1
|
|
- b=$(expr $(nstat numa_hit 0) + $(nstat numa_hit 1))
|
|
+ b=$(expr $(nstat numa_hit $n0) + $(nstat numa_hit $n1))
|
|
if [ $(expr $b - $a) -lt $PAGES ]; then
|
|
echo "membind test failed $n1 $b $a ($PAGES)"
|
|
failed
|
|
fi
|
|
|
|
- for i in $(seq 0 $maxnode) ; do
|
|
- declare -i ni=${node[$i]}
|
|
+ for i in "${node[@]}" ; do
|
|
a=`nstat numa_hit $i`
|
|
- _test_process_state --membind=$ni
|
|
- _test_process_state --preferred=$ni
|
|
+ _test_process_state --membind=$i
|
|
+ _test_process_state --preferred=$i
|
|
b=`nstat numa_hit $i`
|
|
if [ $(expr $b - $a) -lt $DOUBLEPAGES ]; then
|
|
echo "membind/preferred on node $ni failed $b $a"
|
|
@@ -143,11 +143,11 @@ test_mbind()
|
|
{
|
|
declare -i n0=${node[0]} n1=${node[1]}
|
|
|
|
- a0=`nstat interleave_hit 0`
|
|
- a1=`nstat interleave_hit 1`
|
|
+ a0=`nstat interleave_hit $n0`
|
|
+ a1=`nstat interleave_hit $n1`
|
|
_test_mbind interleave $n0,$n1
|
|
- b0=`nstat interleave_hit 0`
|
|
- b1=`nstat interleave_hit 1`
|
|
+ b0=`nstat interleave_hit $n0`
|
|
+ b1=`nstat interleave_hit $n1`
|
|
if [ $(expr $b1 - $a1) -lt $HALFPAGES ]; then
|
|
echo "interleaving test 2 failed $n1 $b1 $a1 expected $HALFPAGES"
|
|
failed
|
|
@@ -159,19 +159,19 @@ test_mbind()
|
|
|
|
_test_mbind interleave all
|
|
|
|
- a=$(expr $(nstat numa_hit 0) + $(nstat numa_hit 1))
|
|
+ a=$(expr $(nstat numa_hit $n0) + $(nstat numa_hit $n1))
|
|
_test_mbind membind $n0,$n1
|
|
- b=$(expr $(nstat numa_hit 0) + $(nstat numa_hit 1))
|
|
+ b=$(expr $(nstat numa_hit $n0) + $(nstat numa_hit $n1))
|
|
if [ $(expr $b - $a) -lt $PAGES ]; then
|
|
echo "membind test 2 failed $b $a ($PAGES)"
|
|
failed
|
|
fi
|
|
|
|
- for i in $(seq 0 $maxnode) ; do
|
|
+ for i in "${node[@]}" ; do
|
|
declare -i ni=${node[$i]}
|
|
a=`nstat numa_hit $i`
|
|
- _test_mbind membind $ni
|
|
- _test_mbind preferred $ni
|
|
+ _test_mbind membind $i
|
|
+ _test_mbind preferred $i
|
|
b=`nstat numa_hit $i`
|
|
if [ $(expr $b - $a) -lt $DOUBLEPAGES ]; then
|
|
echo "membind/preferred test 2 on node $ni failed $b $a"
|
|
--
|
|
2.7.4
|
|
|