I tried "hugemmap", "hugeshmat", "hugeshmctl", "hugeshmdt" and
"hugeshmget" tests.
And I found several fails in them:
------------<at "${LTPROOT}/testcases/kernel/mem/hugetlb/" directory>
- ./hugemmap/
1) hugemmap04 : return code = 2
- ./hugeshmat/
2) hugeshmat01 : return code = 6
3) hugeshmat02 : return code = 6
4) hugeshmat03 : return code = 2
- ./hugeshmctl/
5) hugeshmctl01 : return code = 6
6) hugeshmctl02 : return code = 6
7) hugeshmctl03 : return code = 2
- ./hugeshmdt/
8) hugeshmdt01 : return code = 6
- ./hugeshmget/
9) hugeshmget01 : return code = 2
10) hugeshmget02 : return code = 6
11) hugeshmget03 : return code = 6
12) hugeshmget05 : return code = 2
------------
These tests output following messages:
------------
a) All tests:
"TBROK : Test cannot be continued owning to sufficient availability of
Hugepages on the system"
b) 2), 3), 5), 6), 8), 10), 11) tests:
"TWARN : tst_rmdir(): TESTDIR was NULL; no removal attempted"
------------
Both case a) and case b) are caused by the same reason.
All of case a) failures occured at the following points (for example
hugemmap04):
------------<hugemmap04.c - main()>
/* Check number of hugepages */
if (get_no_of_hugepages() <= 0 || hugepages_size() <= 0)
tst_brkm(TBROK, cleanup, "Test cannot be continued owning to
\
sufficient availability of Hugepages on the
system");
------------
I found out that "HugePages_Total" parameter of "/proc/meminfo" file
is set to "0". This caused above TBROK failure. It is environment problem.
But, in this case, tests must not return with TBROK, but with TCONF,
I think.
And, in case b), these tests try to delete "TESTDIR" directory by
calling "tst_rmdir()" function in "cleanup()" function.
But, "TESTDIR" never set if "tst_tmpdir()" function isn't called.
I think that case b)'s tests must not call cleanup() function.
I want to suggest following patch.
Signed-off-by: Tomonori Mitani <mitani@ryobi.co.jp>
Signed-off-by: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com>
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c
index e67e43c..485b465 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c
@@ -127,8 +127,7 @@
/* Check number of hugepages */
if (get_no_of_hugepages() <= 0 || hugepages_size() <= 0)
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to \
- sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
/* Perform global setup for test */
setup();
diff --git a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c
index b30afef..229b929 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c
@@ -105,7 +105,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c
index 431c1e3..2f56127 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c
@@ -102,7 +102,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c
index f892799..a106976 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c
@@ -86,7 +86,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c
index baff476..e40123d 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c
@@ -130,7 +130,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c
index 928f76a..e434082 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c
@@ -102,7 +102,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c
index 7d039e6..5a7e02a 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c
@@ -105,7 +105,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c b/testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c
index 7c0cec5..bb5480e 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c
@@ -87,7 +87,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c
index 10f29d3..6fa02ab 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c
@@ -82,7 +82,7 @@
/* The following loop checks looping state if -i option given */
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c
index 9066f45..80d3a2b 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c
@@ -84,7 +84,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
index aa76097..fc78b45 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
@@ -85,7 +85,7 @@
/* The following loop checks looping state if -i option given */
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, tst_exit, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;
diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c
index de9ab46..bc4bd2c 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c
@@ -86,7 +86,7 @@
}
if ( get_no_of_hugepages() <= 0 || hugepages_size() <= 0 )
- tst_brkm(TBROK, cleanup, "Test cannot be continued owning to sufficient availability of Hugepages on the system");
+ tst_brkm(TCONF, cleanup, "Not enough available Hugepages");
else
huge_pages_shm_to_be_allocated = ( get_no_of_hugepages() * hugepages_size() * 1024) / 2 ;