Updated oprofile packages that fix several bugs and add one enhancement are now available for Red Hat Enterprise Linux 6.
OProfile is a low-overhead, system-wide profiler that uses the performance monitoring hardware on the processor to retrieve information about the kernel and executables on the system.
- Previously, when profiling performance of Java just-in-time (JIT) compiled code with static huge pages enabled, OProfile's operf command recorded a large number of event samples to anonymous memory (in anon_hugepage) instead of to the appropriate Java method. With this update, operf recognizes the static huge page identifiers and correctly maps samples to Java methods when using statically allocated huge pages.
- To properly select an event, some new Intel processors require not only the base event number but also additional bits to be set in the unit mask. Previously, the additional bits in the unit mask remained unset, thus being incorrectly set to zero. As a consequence, performance monitoring hardware was not measuring the desired event, and the operf utility returned zero for the LLC_REFS and LLC_MISSES events on the 2nd, 3rd, and 4th generation Intel Core and Intel Xeon processors. With this update, OProfile code has been fixed to set the unit mask bits as required. As a result, performance events on Intel processors that require non-zero unit masks now work as expected.
- Previously, when a name of the default unit mask for an event was longer than 11 characters, OProfile truncated the name to 11 characters. Consequently, when the truncated unit mask name was used, OProfile could not find the unit mask and returned an error message. With this update, OProfile handles long unit mask names correctly, and the described problem no longer occurs.
- The operf, ocount, and opjitconv utilities set the POSIXLY_CORRECT enviroment variable for their internal purposes. Prior to this update, OProfile did not return this environment variable to its previous state, thus potentially affecting profiled tasks. Consequently, profiled tasks that behaved differently when the variable was set, such as rpm rebuilds, did not work as expected. This bug has been fixed, and the OProfile use of POSIXLY_CORRECT now does not affect profiled tasks.
- The OProfile profiler tool now includes support for Intel Silvermont events for the Intel Atom C2XXX and Intel Atom E38XX systems on a chip (SoC). This allows users to investigate Intel Silvermont-specific performance issues using OProfile.
Users of oprofile are advised to upgrade to these updated packages, which fix these bugs and add this enhancement.