selftests/vm: fix link error for transhuge-stress test
PATCH 1/1 selftests/vm: fix link error for transhuge-stress test
add -lrt to fix undefined reference to `clock_gettime'
--- tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/testing/selftests/vm/Makefile +1 -1
@@ -7,7 +7,7 @@ BINARIES += transhuge-stress all: $(BINARIES) %: %.c - $(CC) $(CFLAGS) -o $@ $^ + $(CC) $(CFLAGS) -o $@ $^ -lrt run_tests: all @/bin/sh ./run_vmtests || (echo "vmtests: [FAIL]"; exit 1)
Signature · 1 line
1.7.9.5
Quoted 13 lines · Andrey Skvortsov
add -lrt to fix undefined reference to `clock_gettime'
Signed-off-by Andrey Skvortsov <[email protected]>--- tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)tools/testing/selftests/vm/Makefile +0
-0
tools/testing/selftests/vm/Makefile BINARIES += transhuge-stress · line 13
Quoted 8 lines
tools/testing/selftests/vm/Makefile +1
-1@@ -7,7 +7,7 @@ BINARIES += transhuge-stress all: $(BINARIES) %: %.c - $(CC) $(CFLAGS) -o $@ $^ + $(CC) $(CFLAGS) -o $@ $^ -lrt run_tests: all @/bin/sh ./run_vmtests || (echo "vmtests: [FAIL]"; exit 1)
Andrey,
I don't see any undefined references when I build. Curious if it is specific to your env??
Please include the warning in the change log
when you fix warnings in the future.
-- Shuah
Signature · 5 lines
Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) [email protected] | (970) 217-8978
Quoted 25 lines · Shuah Khan
Quoted 13 lines · Andrey Skvortsov
add -lrt to fix undefined reference to `clock_gettime'
Signed-off-by Andrey Skvortsov <[email protected]>--- tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)tools/testing/selftests/vm/Makefile +0
-0tools/testing/selftests/vm/Makefile BINARIES += transhuge-stress · line 13
Quoted 8 lines
tools/testing/selftests/vm/Makefile +1
-1@@ -7,7 +7,7 @@ BINARIES += transhuge-stress all: $(BINARIES) %: %.c - $(CC) $(CFLAGS) -o $@ $^ + $(CC) $(CFLAGS) -o $@ $^ -lrt run_tests: all @/bin/sh ./run_vmtests || (echo "vmtests: [FAIL]"; exit 1)Andrey,
Quoted 6 lines
I don't see any undefined references when I build. Curious if it is specific to your env??
Please include the warning in the change log
when you fix warnings in the future.
thanks for the comment.
Here is what I get without a patch:
linux-next/tools/testing/selftests/vm $ make gcc -Wall -o hugepage-mmap hugepage-mmap.c
gcc -Wall -o hugepage-shm hugepage-shm.c
gcc -Wall -o map_hugetlb map_hugetlb.c
gcc -Wall -o thuge-gen thuge-gen.c
gcc -Wall -o hugetlbfstest hugetlbfstest.c
gcc -Wall -o transhuge-stress transhuge-stress.c /tmp/ccpWoqkG.o: In function `main':
transhuge-stress.c:(.text+0x3a3): undefined reference to clock_gettime' transhuge-stress.c:(.text+0x4dc): undefined reference to clock_gettime'
collect2: ld returned 1 exit status
make: *** [transhuge-stress] Error 1
$ gcc --version gcc (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04) 4.6.4. The same error I get on my other Debian system.
man page for clock_gettime says 'Link with -lrt'. So I think the error message is correct.
Signature · 5 lines
Best regards, Andrey Skvortsov Secure e-mail with gnupg: See http://www.gnupg.org/ PGP Key ID: 0x57A3AEAD
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 45 lines · Andrey Skvortsov
Quoted 22 lines · Shuah Khan
Quoted 12 lines · Andrey Skvortsov
add -lrt to fix undefined reference to `clock_gettime'
Signed-off-by Andrey Skvortsov <[email protected]>---
tools/testing/selftests/vm/Makefile| 2 +- 1 file
changed, 1 insertion(+), 1 deletion(-)(quoted diff) +0
-0b/tools/testing/selftests/vm/Makefile index 4c4b1f6..077828c 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -7,7 +7,7 @@ BINARIES += transhuge-stress
Quoted 6 lines
all: $(BINARIES) %: %.c - $(CC) $(CFLAGS) -o $@ $^ + $(CC)
$(CFLAGS) -o $@ $^ -lrt
run_tests: all @/bin/sh ./run_vmtests || (echo "vmtests:
[FAIL]"; exit 1)Andrey,
Quoted 6 lines
I don't see any undefined references when I build. Curious if it is specific to your env??
Please include the warning in the change log when you fix warnings in the future.
thanks for the comment.
Here is what I get without a patch:
linux-next/tools/testing/selftests/vm $ make gcc -Wall -o hugepage-mmap
hugepage-mmap.cgcc -Wall -o hugepage-shmhugepage-shm.cgcc -Wall -omap_hugetlbmap_hugetlb.cgcc -Wall -o thuge-genthuge-gen.cgcc -Wall -o hugetlbfstesthugetlbfstest.cgcc -Wall -o transhuge-stresstranshuge-stress.c/tmp/ccpWoqkG.o:
In functionmain': transhuge-stress.c:(.text+0x3a3): undefined reference toclock_gettime' transhuge-stress.c:(.text+0x4dc):
undefined reference to `clock_gettime' collect2: ld returned 1 exit status make: *** [transhuge-stress] Error 1
Quoted 6 lines
$ gcc --version gcc (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04) 4.6.4. The same error I get on my other Debian system.man page for
clock_gettimesays 'Link with -lrt'. So I think the error message is correct.
Thanks for fixing it. Applied to linux-kselftest fixes branch
- -- Shuah
- --
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
[email protected] | (970) 217-8978
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJUrqhtAAoJEAsCRMQNDUMcVkgP/if69SGYILLnnj+7oBIuXJGl 8QZVJRHKdN/8Tny7PVBDmerv8kTxbDfaJpJyHg8nSSFRyTmOKChNkO9mcR7TIXcP KxQn5BjYYUvcPM9jZESTAOIdEcaKbsMjj2Yknf49o7ij9YgCBPvFbDOZtfk/oMtF no3wGSuZPF4cRBvhfHJQdLMc87VeLSdz4eDBWZ7LX6EXlfWc8QH8iJhbLzmPp3pJ ofFKKeoaOrlcb/tQPdfSbWvVXZmWpJa8YdDGc2V+w6gahjPeWffe3ZTSyS4dwKZ+ Ayt4F2ptxu+/1fbOb9ZSFCrST2q+yavvXR5D/guK1EqIi1iRHJzq9QSNO8VJksG1 g+aCCTxI5qxHmmq2NandZ/UTttdxsUhPVO32IAFZcrq49gdPQqa/QuB0iI3fDevp kqueiQj96wHr6zBFMgO6O+Vw/bmOjNdFOQUIv6iEJt1SbRtouBa4VVSRsbJijwGU 3jDZBmBhV/ntGuydqsPE1IAjQPO9nKk2rF7RZkx2OGx6Lc6kOk6BQ0eHnA/FgmcG vZiHAIK99K9dEd926C+nV6pYK9UfPU/UKtmxIa/Z5At4oxN3SUKeZokmCFC7f2Ff ueM0hLvEmfNTjSzGkx72RsdxE/6nU2kgYfNOGsJh4QuePrph9+orgHtb5qzZXmiA Mf3pjHSWH0sqAXKfZZmF
=zsvn
-----END PGP SIGNATURE-----
Quoted 7 lines · Shuah Khan
Quoted 3 lines · Andrey Skvortsov
man page for
clock_gettimesays 'Link with -lrt'. So I think the error message is correct.Thanks for fixing it. Applied to linux-kselftest fixes branch
Hi Shuah,
thanks for taking the patch.
sorry for the late reply. I've just checked e-mail. Different timezone. =)
I have couple questions about selftests/vm/hugetlbfstest. It is called by make run_tests, but fails always on my machine.
What does it actually test? if I understand the code right,
it tests whether RSS (read from /proc/self/statm) grows/shrinks not much during allocation/deallocation of 16Mb.
Here are couple of questions about some tests in the code.
1)
hugetlbfstest.c:75
do_mmap(-1, MAP_ANONYMOUS, 1);
it does not use hugetlbfs. So it does not correspond to the actual test name. That confused me a little. Does it test usage of transparent huge pages?
2)
hugetlbfstest.c:78
do_mmap(hugefd, 0, 1);
Despite the fact, that hugefd is open at wrong location
(run_tests script mounts hugetlbfs at ./huge) the test actually does use hugetlbfs. Unfortunately on my machine it fails always too.
RSS does not grow after allocation, but is the same as before.
So assertion 'llabs(after - before - length) < 0x40000' fails.
But hugepages are definitely allocated, I can see that HugePages_Free decreases in /proc/meminfo. To find this out I placed delays in the test code. Does rss field in /proc/statm counts only normal non-huge pages?
Signature · 5 lines
Best regards, Andrey Skvortsov Secure e-mail with gnupg: See http://www.gnupg.org/ PGP Key ID: 0x57A3AEAD