Patch "perf test: Ignore kcore files in the "vmlinux matches kallsyms" test" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
perf test: Ignore kcore files in the "vmlinux matches kallsyms" test
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
perf-test-ignore-kcore-files-in-the-vmlinux-matches-kallsyms-test.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
53d0fe68275dbdaf6a532bb4e87f00db5d36c140Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <[email protected]>
Date: Tue, 19 Apr 2016 12:16:55 -0300
Subject: perf test: Ignore kcore files in the "vmlinux matches kallsyms" test
From: Arnaldo Carvalho de Melo <[email protected]>
commit 53d0fe68275dbdaf6a532bb4e87f00db5d36c140 upstream.
Before:
# perf test -v kallsyms <SNIP> Maps only in vmlinux: ffffffff81d5e000-ffffffff81ec3ac8 115e000 [kernel].init.text ffffffff81ec3ac8-ffffffffa0000000 12c3ac8 [kernel].exit.text ffffffffa0000000-ffffffffa000c000 0 [fjes] ffffffffa000c000-ffffffffa0017000 0 [video] ffffffffa0017000-ffffffffa001c000 0 [grace] <SNIP> ffffffffa0a7f000-ffffffffa0ba5000 0 [xfs] ffffffffa0ba5000-ffffffffffffffff 0 [veth] Maps in vmlinux with a different name in kallsyms: Maps only in kallsyms: ffff880000100000-ffff88001000b000 80000103000 [kernel.kallsyms] ffff88001000b000-ffff880100000000 8001000e000 [kernel.kallsyms] ffff880100000000-ffffc90000000000 80100003000 [kernel.kallsyms] <SNIP> ffffffffa0000000-ffffffffff600000 7fffa0003000 [kernel.kallsyms] ffffffffff600000-ffffffffffffffff 7fffff603000 [kernel.kallsyms] test child finished with -1 ---- end ---- vmlinux symtab matches kallsyms: FAILED! #
After:
# perf test -v 1 1: vmlinux symtab matches kallsyms : --- start --- test child forked, pid 7058 Looking at the vmlinux_path (8 entries long) Using /lib/modules/4.6.0-rc1+/build/vmlinux for symbols 0xffffffff81076870: diff end addr for aesni_gcm_dec v: 0xffffffff810791f2 k: 0xffffffff81076902 0xffffffff81079200: diff end addr for aesni_gcm_enc v: 0xffffffff8107bb03 k: 0xffffffff81079292 0xffffffff8107e8d0: diff end addr for aesni_gcm_enc_avx_gen2 v: 0xffffffff81083e76 k: 0xffffffff8107e943 0xffffffff81083e80: diff end addr for aesni_gcm_dec_avx_gen2 v: 0xffffffff81089611 k: 0xffffffff81083ef3 0xffffffff81089990: diff end addr for aesni_gcm_enc_avx_gen4 v: 0xffffffff8108e7c4 k: 0xffffffff81089a03 0xffffffff8108e7d0: diff end addr for aesni_gcm_dec_avx_gen4 v: 0xffffffff810937ef k: 0xffffffff8108e843 Maps only in vmlinux: ffffffff81d5e000-ffffffff81ec3ac8 115e000 [kernel].init.text ffffffff81ec3ac8-ffffffffa0000000 12c3ac8 [kernel].exit.text Maps in vmlinux with a different name in kallsyms: Maps only in kallsyms: test child finished with -1 ---- end ---- vmlinux symtab matches kallsyms: FAILED! #
--- tools/perf/tests/vmlinux-kallsyms.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
tools/perf/tests/vmlinux-kallsyms.c +7 -1
@@ -54,8 +54,14 @@ int test__vmlinux_matches_kallsyms(void)* Step 3: * * Load and split /proc/kallsyms into multiple maps, one per module. +* Do not use kcore, as this test was designed before kcore support +* and has parts that only make sense if using the non-kcore code. +* XXX: extend it to stress the kcorre code as well, hint: the list +* of modules extracted from /proc/kcore, in its current form, can't +* be compacted against the list of modules found in the "vmlinux" +* code and with the one got from /proc/modules from the "kallsyms" code. */ -if (machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type,NULL ) <=0 ) { +if (__machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type, true,NULL ) <=0 ) {pr_debug ("dso__load_kallsyms " ); goto out; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/perf-test-ignore-kcore-files-in-the-vmlinux-matches-kallsyms-test.patch
Quoted 7 lines · On 08/02/2016, 09:03 AM, [email protected] wrote:
From: Arnaldo Carvalho de Melo <[email protected]>
Date: Tue, 19 Apr 2016 12:16:55 -0300
Subject: perf test: Ignore kcore files in the "vmlinux matches kallsyms" testFrom: Arnaldo Carvalho de Melo <[email protected]>
commit
53d0fe68275dbdaf6a532bb4e87f00db5d36c140upstream.
...
Quoted 5 lines
tools/perf/tests/vmlinux-kallsyms.c +0
-0@@ -54,8 +54,14 @@ int test__vmlinux_matches_kallsyms(void)* Step 3: *
tools/perf/tests/vmlinux-kallsyms.c int test__vmlinux_matches_kallsyms(void) · line 64
Quoted 10 lines
tools/perf/tests/vmlinux-kallsyms.c +7
-1* Load and split /proc/kallsyms into multiple maps, one per module. +* Do not use kcore, as this test was designed before kcore support +* and has parts that only make sense if using the non-kcore code. +* XXX: extend it to stress the kcorre code as well, hint: the list +* of modules extracted from /proc/kcore, in its current form, can't +* be compacted against the list of modules found in the "vmlinux" +* code and with the one got from /proc/modules from the "kallsyms" code. */ -if (machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type,NULL ) <=0 ) { +if (__machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type, true,NULL ) <=0 ) {
__machine__load_kallsyms is only in 4.7+. So this patch breaks build of perf:
perf-in.o: In function `test__vmlinux_matches_kallsyms':tools/perf/tests/vmlinux-kallsyms.c:64: undefined reference to `__machine__load_kallsyms'
collect2: error: ld returned 1 exit status Makefile.perf:316: recipe for target 'perf' failed
It is only a test fix, so I think the patch should be dropped from both 4.4 and 4.6.
thanks,
Signature · 2 lines
js suse labs
Greg KH
maintainerQuoted 33 lines · Jiri Slaby
Quoted 7 lines · On 08/02/2016, 09:03 AM, [email protected] wrote:
From: Arnaldo Carvalho de Melo <[email protected]>
Date: Tue, 19 Apr 2016 12:16:55 -0300
Subject: perf test: Ignore kcore files in the "vmlinux matches kallsyms" testFrom: Arnaldo Carvalho de Melo <[email protected]>
commit
53d0fe68275dbdaf6a532bb4e87f00db5d36c140upstream....
Quoted 5 lines
tools/perf/tests/vmlinux-kallsyms.c +0
-0@@ -54,8 +54,14 @@ int test__vmlinux_matches_kallsyms(void)* Step 3: * tools/perf/tests/vmlinux-kallsyms.c int test__vmlinux_matches_kallsyms(void) · line 64
Quoted 10 lines
tools/perf/tests/vmlinux-kallsyms.c +7
-1* Load and split /proc/kallsyms into multiple maps, one per module. +* Do not use kcore, as this test was designed before kcore support +* and has parts that only make sense if using the non-kcore code. +* XXX: extend it to stress the kcorre code as well, hint: the list +* of modules extracted from /proc/kcore, in its current form, can't +* be compacted against the list of modules found in the "vmlinux" +* code and with the one got from /proc/modules from the "kallsyms" code. */ -if (machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type,NULL ) <=0 ) { +if (__machine__load_kallsyms (&kallsyms,"/proc/kallsyms" , type, true,NULL ) <=0 ) {
__machine__load_kallsymsis only in 4.7+. So this patch breaks build of perf:
perf-in.o: In function `test__vmlinux_matches_kallsyms':tools/perf/tests/vmlinux-kallsyms.c:64: undefined reference to `__machine__load_kallsyms'
collect2: error: ld returned 1 exit status Makefile.perf:316: recipe for target 'perf' failed
Quoted 2 lines
It is only a test fix, so I think the patch should be dropped from both 4.4 and 4.6.
Yeah, I got another report of this over the weekend, I've now dropped this patch, sorry about that.
greg k-h