Re: Announcement: Release Candidate 1 for OProfile 1.0.0
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 08/29/2014 09:28 AM, Maynard Johnson wrote:
> On 08/28/2014 08:30 PM, William Cohen wrote:
>> On 08/28/2014 04:47 PM, Maynard Johnson wrote:
>>> On 08/28/2014 11:11 AM, William Cohen wrote:
>>>> On 08/26/2014 11:56 AM, Maynard Johnson wrote:
>>>>> On 08/15/2014 10:54 AM, Maynard Johnson wrote:
>>>>>> We are pleased to announce OProfile 1.0.0 Release Candidate 1. You can download this release at:
>>>>>> http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.0.0-rc1/
>>>>>>
>>>>>> Please download and test this release candidate, and send your feedback by replying to this message. Please include your hardware platform and Linux distribution information in your reply.
>>>>>
>>>>> Fellow oprofile architecture maintainers,
>>>>> Please test the oprofile 1.0.0 RC1 and let me know your results. FYI . . . Due to the
>>>>> Java profiling bug reported this week by Brian Hall, I will be incorporating a fix into
>>>>> the next 1.0.0 tar file I make available. If more fixes are needed, I will put out an
>>>>> RC2, otherwise I'll make it GA. Either way, I'd like to put out the next tar file by
>>>>> the end of the week. Thanks!
>>>>>
>>>>> -Maynard
>>>>>>
>>>>>> Thanks.
>>>>>> -Maynard Johnson
>>>>
>>>> Hi Maynard,
>>>>
>>>> I built a rpm using the latest git repo tarball and have been testing that out on a number of different platforms.
>>>>
>>>> There are a number of xml failures in the test results (footnotes (1) and (2)). Have anyone else observed that? Or is this a local build issue?
>>>>
>>>> I also had some issues with the tests running on arm cortex-a9. The perf utility works on the machine but operf and ocount are not. This seems to be specific to the cortex a9 machine things work on a cortex a15 machine.
>>>>
>>>> # operf --events INST_RETIRED:500000:0:1:1,CPU_CYCLES:500000:0:1:1, workloads/thread_src/thread_bin
>>>> perf_event_open failed with Operation not supported
>>>> Caught runtime_error: Internal Error. Perf event setup failed.
>>>> Error running profiler
>>>>
>>> This smells very familiar. Looking at kernel code (arch/arm/kernel/perf_event.c), I see the following:
>>>
>>> /*
>>> * Check whether we need to exclude the counter from certain modes.
>>> */
>>> if ((!armpmu->set_event_filter ||
>>> armpmu->set_event_filter(hwc, &event->attr)) &&
>>> event_requires_mode_exclusion(&event->attr)) {
>>> pr_debug("ARM performance counters do not support "
>>> "mode exclusion\n");
>>> return -EOPNOTSUPP;
>>> }
>>>
>>> I've made changes to oprofile recently so that hypervisor events would be excluded by default,
>>> since we currently have nothing in our display formats to indicate hypervisor samples and nothing
>>> in our event specification (passed to operf and ocount) to either include or exclude hypervisor
>>> events. This bit our s390 friends, and we had to add #ifdef __s390__ in
>>> libperf_events/operf_counter.cpp:221 and pe_counting/ocount_counter.cpp:72.
>>>
>>> *Will C*, can you please try to add '#ifdef __arm__' in the same two places and see if the oprofile
>>> testsuite works then. Perhaps I should back out the change I made to exclude hypervisor events.
>>> The issue is that on systems where mode exclusion *is* supported, and where the system is running
>>> on top of a hypervisor, doing something like 'ocount -e CYCLES:0:0:1' ends up counting *both* userspace
>>> and hypervisor events and the output of ocount does not separate them. A similar issue occurs with operf,
>>> but the problem is not quite so pronounced, since opreport typically cannot be resolve hypervisor sample
>>> addresses symbols.
>>>
>>>
>>> -Maynard
>>
>> I did a git bisection and narrowed the problem patch to:
>>
>> $ git bisect bad
>> 3f93a3b306875ff5591149a23034fed92a0844d7 is the first bad commit
>> commit 3f93a3b306875ff5591149a23034fed92a0844d7
>> Author: Maynard Johnson <[email protected]>
>> Date: Thu Aug 7 15:58:23 2014 -0500
>>
>> Exclude collecting hypervisor samples for default event
>
> Yeah, as I suspected. Will, I just posted a patch ("[PATCH] Back out recent change to
> exclude hypervisor samples and counts") to fix this. Can you please try it out.
> Hopefully you can give me feedback on it today. I'd like to put out a release candidate 2
> today, since I'll be out of the office all next week.
>
> Thanks!
> -Maynard
Hi Maynard,
I built rpms from the current oprofile git repo and included the patch (http://koji.fedoraproject.org/koji/taskinfo?taskID=7485311). I reran the tests on the cortex a15, amd family 10, and ivybridge machine and verified there weren't any changes in the test results. For Fedora arm cortex a9 there was some improvements. All the cycle-check-ocount tests pass now and more of the other tests pass. However, there are still more failures on the f20 cortex a9 than the other machine, most often a "Non-zero count for workload ...". I have attached the output of tests for the cortex a9.
-Will
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
oprofile-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oprofile-list
oprofile_3.15.10-200.fc20.armv7hl.txt
(text/plain, 6 KB)
WARNING: Couldn't find tool init file
Test Run By root on Fri Aug 29 11:52:54 2014
Native configuration is armv7l-unknown-linux-gnueabihf
=== cycle-check-ocount tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./cycle-check-ocount/ocount-cycle-check-run.exp ...
=== cycle-check-ocount Summary ===
# of expected passes 7
WARNING: Couldn't find tool init file
Test Run By root on Fri Aug 29 11:53:00 2014
Native configuration is armv7l-unknown-linux-gnueabihf
=== oprofile-ocount tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./oprofile-ocount/ocount-run.exp ...
ocount_run_tests
FAIL: Non-zero count for workload workload_ocount/load_bin and event CPU_CYCLES
FAIL: Non-zero count for workload workload_ocount/load_bin and event CPU_CYCLES]
FAIL: Event CPU_CYCLES, user mode count plus kernel mode count matches user and kernel mode count, workload workload_ocount/load_bin
User count 0, kernel count 0, sum 0
User and kernel count, 999659618
=== oprofile-ocount Summary ===
# of expected passes 13
# of unexpected failures 3
WARNING: Couldn't find tool init file
Test Run By root on Fri Aug 29 11:53:16 2014
Native configuration is armv7l-unknown-linux-gnueabihf
=== oprofile-operf tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./oprofile-operf/oprofile-operf-run.exp ...
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: XML opreport output with callgraph option=1 is invalid
warning: failed to load external entity "/share/doc/oprofile/opreport.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/opreport.xsd'.
WXS schema //share/doc/oprofile/opreport.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: XML opreport output with callgraph option=1 is invalid
warning: failed to load external entity "/share/doc/oprofile/opreport.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/opreport.xsd'.
WXS schema //share/doc/oprofile/opreport.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: XML opreport output with callgraph option=1 is invalid
warning: failed to load external entity "/share/doc/oprofile/opreport.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/opreport.xsd'.
WXS schema //share/doc/oprofile/opreport.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
=== oprofile-operf Summary ===
# of expected passes 41
# of unexpected failures 12
kernel version: 3.15.10-200.fc20.armv7hl
userspace version: oprofile 1.0.0git compiled on Aug 29 2014 13:56:43
WARNING: Couldn't find tool init file
Test Run By root on Fri Aug 29 11:56:15 2014
Native configuration is armv7l-unknown-linux-gnueabihf
=== oprofile-single_process tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
Running ./oprofile-single_process/oprofile-single_process-run.exp ...
FAIL: XML ophelp output is invalid
warning: failed to load external entity "/share/doc/oprofile/ophelp.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/ophelp.xsd'.
WXS schema //share/doc/oprofile/ophelp.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: XML opreport output with callgraph option=0 is invalid
warning: failed to load external entity "/share/doc/oprofile/opreport.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/opreport.xsd'.
WXS schema //share/doc/oprofile/opreport.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
FAIL: XML opreport output with callgraph option=0 is invalid
warning: failed to load external entity "/share/doc/oprofile/opreport.xsd"
Schemas parser error : Failed to locate the main schema resource at '//share/doc/oprofile/opreport.xsd'.
WXS schema //share/doc/oprofile/opreport.xsd failed to compile
FAIL: nonzero-sized sample file creation: {INST_RETIRED} created nonzero sample files
=== oprofile-single_process Summary ===
# of expected passes 20
# of unexpected failures 9
kernel version: 3.15.10-200.fc20.armv7hl
userspace version: oprofile 1.0.0git compiled on Aug 29 2014 13:56:43