The readahead, madvise, and the fadvise tests can all hang the running machine if the kernel bug they are testing is present. This patch wraps these tests so that they fail without running if the kernel version is less than 2.6.30.
Signed-off-by: Eric B Munson <ebmun...@us.ibm.com> --- tests/Makefile | 3 ++- tests/fadvise_reserve.sh | 14 ++++++++++++++ tests/madvise_reserve.sh | 14 ++++++++++++++ tests/readahead_reserve.sh | 14 ++++++++++++++ tests/run_tests.py | 6 +++--- 5 files changed, 47 insertions(+), 4 deletions(-) create mode 100755 tests/fadvise_reserve.sh create mode 100755 tests/madvise_reserve.sh create mode 100755 tests/readahead_reserve.sh diff --git a/tests/Makefile b/tests/Makefile index 7e7dd99..3e0a832 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -17,7 +17,8 @@ LDSCRIPT_TESTS = zero_filesize_segment HUGELINK_TESTS = linkhuge linkhuge_nofd linkshare HUGELINK_RW_TESTS = linkhuge_rw STRESS_TESTS = mmap-gettest mmap-cow shm-gettest shm-getraw shm-fork -WRAPPERS = quota shm-fork shm-getraw counters +WRAPPERS = quota shm-fork shm-getraw counters madvise_reserve fadvise_reserve \ + readahead_reserve HELPERS = get_hugetlbfs_path compare_kvers HELPER_LIBS = libheapshrink.so BADTOOLCHAIN = bad-toolchain.sh diff --git a/tests/fadvise_reserve.sh b/tests/fadvise_reserve.sh new file mode 100755 index 0000000..a62f9e9 --- /dev/null +++ b/tests/fadvise_reserve.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. wrapper-utils.sh + +# fadvise is known broken before 2.6.30 +compare_kvers `uname -r` "2.6.30" +if [ $? -eq 1 ]; then + echo "FAIL kernel bug" + exit $RC_FAIL +else + EXP_RC=$RC_PASS + exec_and_check $EXP_RC quota "$@" +fi + diff --git a/tests/madvise_reserve.sh b/tests/madvise_reserve.sh new file mode 100755 index 0000000..64eb229 --- /dev/null +++ b/tests/madvise_reserve.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. wrapper-utils.sh + +# madvise is known broken before 2.6.30 +compare_kvers `uname -r` "2.6.30" +if [ $? -eq 1 ]; then + echo "FAIL kernel bug" + exit $RC_FAIL +else + EXP_RC=$RC_PASS + exec_and_check $EXP_RC quota "$@" +fi + diff --git a/tests/readahead_reserve.sh b/tests/readahead_reserve.sh new file mode 100755 index 0000000..8dc0ad1 --- /dev/null +++ b/tests/readahead_reserve.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. wrapper-utils.sh + +# readahead is known broken before 2.6.30 +compare_kvers `uname -r` "2.6.30" +if [ $? -eq 1 ]; then + echo "FAIL kernel bug" + exit $RC_FAIL +else + EXP_RC=$RC_PASS + exec_and_check $EXP_RC quota "$@" +fi + diff --git a/tests/run_tests.py b/tests/run_tests.py index ed246fc..871ae7c 100755 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -479,9 +479,9 @@ def functional_tests(): do_test("brk_near_huge") do_test("task-size-overrun") do_test("stack_grow_into_huge") - do_test("readahead_reserve") - do_test("madvise_reserve") - do_test("fadvise_reserve") + do_test("readahead_reserve.sh") + do_test("madvise_reserve.sh") + do_test("fadvise_reserve.sh") # Tests requiring an active mount and hugepage COW do_test("private") -- 1.6.1.2 ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel