hugetlb: fix warnings in cleanup()
PATCH 1/1 hugetlb: fix warnings in cleanup()
It'd be better to define the 'orig_hugepages' to '-1' in hugetlb/lib, then we can make use of it to avoid the warnings on a system without huge page supporting.
WARNING:
safe_file_ops.c:283: WARN: Failed to open FILE '/proc/sys/vm/nr_hugepages' for writing at mem.c:853: ENOENT
--- testcases/kernel/mem/hugetlb/hugemmap/hugemmap01.c | 3 ++- testcases/kernel/mem/hugetlb/hugemmap/hugemmap02.c | 3 ++- testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c | 3 ++- testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c | 2 +- testcases/kernel/mem/hugetlb/hugemmap/hugemmap06.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat05.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c | 3 ++- testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c | 3 ++- testcases/kernel/mem/hugetlb/lib/hugetlb.c | 2 ++ testcases/kernel/mem/hugetlb/lib/hugetlb.h | 2 +- 20 files changed, 38 insertions(+), 19 deletions(-)
testcases/kernel/mem/hugetlb/hugemmap/hugemmap01.c +2 -1
@@ -108,7 +108,8 @@ void setup(void)void cleanup (void ) {unlink (TEMPFILE ); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 );umount (Hopt); }
testcases/kernel/mem/hugetlb/hugemmap/hugemmap02.c +2 -1
@@ -154,7 +154,8 @@ static void setup(void)static void cleanup (void ) {unlink (TEMPFILE ); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 );umount (Hopt); }
testcases/kernel/mem/hugetlb/hugemmap/hugemmap04.c +2 -1
@@ -125,7 +125,8 @@ void setup(void)void cleanup (void ) {unlink (TEMPFILE ); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 );umount (Hopt); }
testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c +1 -1
@@ -206,8 +206,8 @@ static void cleanup(void)static void setup (void ) { - hugepagesize =SAFE_READ_MEMINFO ("Hugepagesize:" ) *1024 ;check_hugepage (); + hugepagesize =SAFE_READ_MEMINFO ("Hugepagesize:" ) *1024 ;init_sys_sz_paths ();if (opt_sysfs) {
testcases/kernel/mem/hugetlb/hugemmap/hugemmap06.c +2 -1
@@ -67,7 +67,8 @@ static void setup(void)static void cleanup (void ) { -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static void *thr (void *arg)
testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat01.c +2 -1
@@ -190,7 +190,8 @@ static void setup(void)static void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat02.c +2 -1
@@ -116,7 +116,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_2); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat03.c +2 -1
@@ -111,7 +111,8 @@ static void setup(void)static void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c +2 -1
@@ -107,7 +107,8 @@ static void setup(void)static void cleanup (void ) { -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 );SAFE_FILE_PRINTF (PATH_SHMMAX ,"%ld" , orig_shmmax); }
testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat05.c +2 -1
@@ -58,7 +58,8 @@ void setup(void)void cleanup (void ) { -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }void shm_test (int size)
testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl01.c +2 -1
@@ -376,7 +376,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c +2 -1
@@ -121,7 +121,8 @@ static void cleanup(void) {rm_shm (shm_id_1);rm_shm (shm_id_2); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c +2 -1
@@ -141,7 +141,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmdt/hugeshmdt01.c +2 -1
@@ -163,7 +163,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget01.c +2 -1
@@ -89,7 +89,8 @@ static void setup(void)static void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c +2 -1
@@ -107,7 +107,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c +2 -1
@@ -107,7 +107,8 @@ static void cleanup(void)rm_shm (shm_id_arr[i]);FILE_PRINTF (PATH_SHMMNI ,"%ld" , orig_shmmni); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c +2 -1
@@ -102,7 +102,8 @@ void setup(void)void cleanup (void ) {rm_shm (shm_id_1); -set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); +if (orig_hugepages !=-1 ) +set_sys_tune ("nr_hugepages" , orig_hugepages,0 ); }static struct tst_test test = {
testcases/kernel/mem/hugetlb/lib/hugetlb.c +2 -0
@@ -40,6 +40,8 @@#include <pwd.h> #include "hugetlb.h" +long orig_hugepages =-1 ; +void check_hugepage (void ) {if (access (PATH_HUGEPAGES ,F_OK ))
testcases/kernel/mem/hugetlb/lib/hugetlb.h +1 -1
@@ -57,6 +57,6 @@ void rm_shm(int shm_id);char *nr_opt;char *Hopt; -long orig_hugepages; +extern long orig_hugepages;#endif /* hugetlb.h */
Signature · 1 line
2.9.3
PATCH 1/1 hugetlb: fix warnings in cleanup()
Hi!
The fix is OK, but we may as well do it better, if we move completly the logic to the library we do not have to repeat the code in each test.
So what about adding two functions save_nr_hugepages() and restore_nr_hugepages() to the library and call these from the test setup and cleanup?
Signature · 2 lines
Cyril Hrubis [email protected]
PATCH 1/1 hugetlb: fix warnings in cleanup()
Quoted 7 lines · Cyril Hrubis
Hi!
The fix is OK, but we may as well do it better, if we move completly the logic to the library we do not have to repeat the code in each test.So what about adding two functions
save_nr_hugepages()andrestore_nr_hugepages()to the library and call these from the test setup and cleanup?
Agree! Thanks a lot.
Signature · 2 lines
Li Wang [email protected]