On 22/10/12 12:59, Jessica Allison wrote: > >> Subject: Re: Profiling >> >> On 19/10/12 10:13, Sundaram, Senthilkumar wrote: >>> I would like to profile some of the key Hyp routines including >>> World-Switch, TLB Flush etc. >>> >>> >>> >>> I am planning to use cycle counters to profile these routines. Has >>> anything like this been done before? Any suggestions. >> >> I've played with perf in the recent past, and managed to find some >> interesting results. You'll need a couple of patches on top of >> kvm-arm-master: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-perf >> >> With these patches, you can use "perf kvm". We do not support stack >> unwinding in the guest though. > > Checking out kvm-perf gives me the following compile errors: > > $ make ARCH=arm zImage > CHK include/linux/version.h > CHK include/generated/utsrelease.h > make[1]: `include/generated/mach-types.h' is up to date. > CALL scripts/checksyscalls.sh > CHK include/generated/compile.h > CC arch/arm/kvm/perf.o > In file included from /code/arm-platforms/arch/arm/include/asm/kvm_vgic.h:24:0, > from /code/arm-platforms/arch/arm/include/asm/kvm_host.h:25, > from arch/arm/kvm/perf.c:24: > include/linux/kvm_host.h:215:23: error: field ‘stat’ has incomplete type > include/linux/kvm_host.h:247:23: error: field ‘arch’ has incomplete type > include/linux/kvm_host.h:322:34: error: ‘KVM_MEMORY_SLOTS’ undeclared here (not in a function) > include/linux/kvm_host.h:322:34: error: ‘KVM_PRIVATE_MEM_SLOTS’ undeclared here (not in a function) > include/linux/kvm_host.h:336:25: error: ‘KVM_MAX_VCPUS’ undeclared here (not in a function) > include/linux/kvm_host.h:349:21: error: field ‘stat’ has incomplete type > include/linux/kvm_host.h:350:18: error: field ‘arch’ has incomplete type > include/linux/kvm_host.h: In function ‘gfn_to_index’: > include/linux/kvm_host.h:794:2: > error: implicit declaration of function ‘KVM_HPAGE_GFN_SHIFT’ > [-Werror=implicit-function-declaration] > arch/arm/kvm/perf.c: In function ‘vcpu_pc’: > /code/arm-platforms/arch/arm/include/asm/kvm_emulate.h:60:1: warning: control reaches end of non-void function [-Wreturn-type] > arch/arm/kvm/perf.c: In function ‘vcpu_cpsr’: > /code/arm-platforms/arch/arm/include/asm/kvm_emulate.h:65:1: warning: control reaches end of non-void function [-Wreturn-type] > cc1: some warnings being treated as errors > make[1]: *** [arch/arm/kvm/perf.o] Error 1 > make: *** [arch/arm/kvm] Error 2 > > Am I missing a patch or something? Try cherry-picking bff6c03618ac9129022068205581ab7bda90a186 from my tree. M. -- Jazz is not dead. It just smells funny... _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm