Re: opannotate -s -i example AND duplicated ophelp output on ARM Cortex-A7 MPCore
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 11/12/2015 10:30 AM, Panagiotis Mousouliotis wrote: > Hello all, > > I'm using the latest version of oprofile (1.1.0). > > I would like to get source code details for a specific symbol using "opannotate -s -i <symbol>", but it seems that I can't get it right. > > e.g. > > $ opreport -g -l -t 1 > Using /home/pmousoul/Downloads/opencv3/opencv/build/bin/oprofile_data/samples/ for samples directory. > > WARNING! Some of the events were throttled. Throttling occurs when > the initial sample rate is too high, causing an excessive number of > interrupts. Decrease the sampling frequency. Check the directory > /home/pmousoul/Downloads/opencv3/opencv/build/bin/oprofile_data/samples/current/stats/throttled > for the throttled event names. > > CPU: Intel Ivy Bridge microarchitecture, speed 2700 MHz (estimated) > Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 90000 > warning: some functions compiled without debug information may have incorrect source line attributions > samples % linenr info image name symbol name > 2338141 61.0359 fast.cpp:56 libopencv_features2d.so.3.0.0 void cv::FAST_t<16>(cv::_InputArray const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, int, bool) > 761503 19.8786 fast_score.cpp:121 libopencv_features2d.so.3.0.0 int cv::cornerScore<16>(unsigned char const*, int const*, int) > 346500 9.0452 (no location information) libz.so.1.2.8 /lib/x86_64-linux-gnu/libz.so.1.2.8 > 305026 7.9625 (no location information) libpng12.so.0.50.0 /lib/x86_64-linux-gnu/libpng12.so.0.50.0 > > > $ opannotate -s -i "void cv::FAST_t<16>(cv::_InputArray const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, int, bool)" > > Doing the above I get the following output > > $ opannotate -s -i "void cv::FAST_t<16>(cv::_InputArray const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, int, bool)" > Using /home/pmousoul/Downloads/opencv3/opencv/build/bin/oprofile_data/samples/ for session-dir > > WARNING! Some of the events were throttled. Throttling occurs when > the initial sample rate is too high, causing an excessive number of > interrupts. Decrease the sampling frequency. Check the directory > /home/pmousoul/Downloads/opencv3/opencv/build/bin/oprofile_data/samples/current/stats/throttled > for the throttled event names. > > /* > * Command line: opannotate -s -i void cv::FAST_t<16>(cv::_InputArray const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, int, bool) > * > * Interpretation of command line: > * Output annotated source file with samples > * Output all files > * > * CPU: Intel Ivy Bridge microarchitecture, speed 2700 MHz (estimated) > * Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 90000 > */ > > > What I'm I doing wrong? Hi, You need to tell opannotate where the source files are. You might take a look the tutorial at http://people.redhat.com/wcohen/Fedora12OprofileTutorial.txt for an example on how to use opannotate. > As for the ophelp duplicated output on ARM Cortex-A7 MPCore: > > > > $ ophelp > oprofile: available events for CPU type "ARM Cortex-A7" > ... > There are a lot of duplicates on the above ophelp output - is this normal? In the armv7-ca7 file there is: include:arm/armv7-common include:arm/armv7-ca5 The arm/armv7-ca7 also has: include:arm/armv7-common Thanks for pointing that out. A fix has been checked into the upstream oprofile git repository. -Will ------------------------------------------------------------------------------