oprofile can not use hardware performance counters
I have debian 5.0 linux server on an IBM HS22 blade with 2 Xeon E5504 processors. I found out that oprofile could not recognize hardware performance counters 开发者_如何学运维on this setup, only timer interrupt is available:
# opcontrol -l
Using timer interrupt.
# cat /dev/oprofile/cpu_type
timer
System information is:
# cat /etc/issue.net
Debian GNU/Linux 5.0
# uname -a
Linux xxx 2.6.26-2-686-bigmem #1 SMP Mon Jun 21 06:45:17 UTC 2010 i686 GNU/Linux
oprofile was installed from debian repository using apt.
# opcontrol --version
opcontrol: oprofile 0.9.3 compiled on Feb 10 2008 12:08:26
What should I do to enable hardware performance counters? Thanks!
Please check in the kernel source code that, in linux/arch/your_machine_architecture/kernel/cputable.c file, whether the .num_pmcs is defined for your machine's architecture. Eg. For PPC970MP architecture, you can find this in linux/arch/powerpc/kernel/cputable.c --> Line No.272(Kernel Version 2.6.32). Because some of the older kernel versions does not have this .num_pmcs defined for all the architectures.
I am suggesting this solution, as I have faced similar issue while trying run the oprofile for PPC970MP architecture on a 2.6.14 Kernel.
Hope this answer will help you solve the problem. Please reply on this.
精彩评论