2013-04-30 17:22:24"Robert Richter" <rric@kernel.org> д
>On 30.04.13 10:10:07, ΰ wrote:
>> I want to use oprofile to get cache misses. However, I meet the problem in the
>> email. 
>> 
>> On xen platform, only opcontrol --list-events only shows 
>> Using timer interrupt.
>
>Oprofile can not be used in a Xen guest, hw counters are not available
>there.
>
However, I run the command opcontrol --list-events in domain0, not domainU. Why only Using timer interrupt in domain0. 
On another server, also run the xen 4.1.2 and ubuntu 12.04, the kernel is 
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# uname -a
Linux nimbnode2 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
I run the following command
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --version
opcontrol: oprofile 0.9.5 compiled on Apr 22 2013 09:10:43
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --init
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --no-vmlinux
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# opcontrol --start
Error: counter 0 not available nmi_watchdog using this resource ? Try:
opcontrol --deinit
echo 0 > /proc/sys/kernel/nmi_watchdog
root@nimbnode2:/home/zhangwei1984/oprofile-0.9.5# cat /proc/sys/kernel/nmi_watchdog
0
I have set 0 to the file  /proc/sys/kernel/nmi_watchdog and /proc/sys/kernel/watchdog. Still the same problem.
The cpuinfo on nimbnode2 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 30
model name      : Intel(R) Xeon(R) CPU           X3450  @ 2.67GHz
stepping        : 5
microcode       : 0x4
cpu MHz         : 2660.090
cache size      : 8192 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm
bogomips        : 5320.18
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 30
model name      : Intel(R) Xeon(R) CPU           X3450  @ 2.67GHz
stepping        : 5
microcode       : 0x4
cpu MHz         : 2660.090
cache size      : 8192 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm
bogomips        : 5320.18
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
.....
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 30
model name      : Intel(R) Xeon(R) CPU           X3450  @ 2.67GHz
stepping        : 5
microcode       : 0x4
cpu MHz         : 2660.090
cache size      : 8192 KB
physical id     : 0
siblings        : 2
core id         : 3
cpu cores       : 1
apicid          : 7
initial apicid  : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni est ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida dtherm
bogomips        : 5320.18
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


On this server, 
>>  taskset $CPU echo p > /proc/sysrq-trigger
>
>This is to read the counters on cpu 0:
>
> taskset 0x01 echo p > /proc/sysrq-trigger
>
>If you don't care about the cpu, this should be enough:
>
> echo p > /proc/sysrq-trigger
>
>-Robert