Re: operf and Pentium III
William Cohen <[email protected]>
| Newsgroups | gmane.linux.oprofile |
|---|---|
| Message-ID | <[email protected]> |
On 11/24/2015 11:03 AM, Patrick AGRAIN wrote: > Hello all, > > I’m trying to use the oprofile tools on an old Intel Platform based on a Pentium III processor. > > The kernel is based on the RH 2.6.32-279.19.1.el6. > > I compiled the latest (I think so) version of oprofile tools : 1.1.0 > [root@pignon ~]# /usr/local/bin/operf -v > /usr/local/bin/operf: oprofile 1.1.0 compiled on Nov 24 2015 11:12:11 > > The ophelp tool seems to detect the processor and the available events: > [root@pignon tmpd]# /usr/local/bin/ophelp > oprofile: available events for CPU type "PIII" > > See Intel Architecture Developer's Manual Volume 3B, Appendix A and > Intel Architecture Optimization Reference Manual > > For architectures using unit masks, you may be able to specify > unit masks by name. See 'operf' or 'ocount' man page for more details. > > CPU_CLK_UNHALTED: (counter: all) > clocks processor is not halted (min count: 6000) > DATA_MEM_REFS: (counter: all) > all memory references, cachable and non (min count: 500) > <...> > MMX_ASSIST: (counter: all) > number of EMMS instructions executed (min count: 500) > MMX_INSTR_RET: (counter: all) > number of MMX instructions retired (min count: 3000) > > But when trying to start the operf tool (whatever the options or the application to perf), I get always the same result: > [root@pignon tmpd]# /usr/local/bin/operf -e CPU_CLK_UNHALTED:10000 /bin/ls > perf_event_open failed with Operation not supported > Caught runtime_error: Internal Error. Perf event setup failed. > Error running profiler > > From man page of perf_event_open(), the EOPNOTSUPP error has multiple cause: > > * No hardware support : but the ophelp detects it. > * No event support : but I tried the default one (CPU_CLK_UNHALTED). > * No PMU interrupt : well, I don’t know... How to check this ? > * Others ? > > > What could the cause of this error ? > Thanks in advance. > Kind regards, > Patrick Hi Patrick, The pentium III stopped production in 2003, so it is unlikely that much effort is going to be expended to address this issue. operf leverages the perf support in the kernel. Depending on the the specific cpuid this particular processor may or may not be supported by the kernel perf infrastructure. As a quick check you might install the perf package and check to see if the following works: perf stat ls If this has problems getting measurement, then the problem lies in the kernel. Providing the output of /proc/cpuinfo would make it easier to determine why the kernel might have a issue with this particular processor. ophelp has separate code that identifies the process to determine what list of performance events should be used. Thus, ophelp may list out the events, but operf may have problems setting up the counters. As a fall back you might use a version of oprofile (<1.0) that has opcontrol and uses the kernel oprofile driver. -Will ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140