On 15.02.2011, at 15:21, Dushyant Bansal wrote: > >>>> Hrm. This means that your kernel headers in /usr/include/linux are too >>>> old. Can you try and find out which kernel version they are from please >>>> >>>> >>> Yes, kernel headers version is 2.6.32. For the time being, I copied some of >>> the header files from kvm/arch/powerpc/include/asm/ to kernel headers and >>> qemu build was successful. >>> Thanks a lot. >>> >> Awesome! I'm eager to hear how well it works for you :) > > I collected some performance stats using kvm_stat. To get more information > about exit counts of individual instructions, I configured CFLAGS_emulate.o > with DDEBUG flag. > Now, I can see output of "pr_debug("Emulating opcode %d / %d\n", > get_op(inst), get_xop(inst));" instruction in kernel logs. > I have two queries: > > 1. The count of "Emulating opcode...." statement in /var/log/kern.log (3 > million) is coming out to be much less than emulated_inst_exits (22 million) > using kvm_stat.
The kernel log ring buffer is probably faster filled than read :). > 2. How to configure makefiles to get output of printk statements inside > kvm/arch/powerpc/kvm/trace.h Better don't make them printks - just use the tracing framework. I'd write up a small howto here myself, but I'm pretty much on the jump to my plane for vacation. Avi, could you please guide him a bit on how to get data out of tracepoints? > Also, every time I start kvm, I get this error "KVM: Couldn't find level irq > capability. Expect the VM to stall at times". After some time, the VM just > hangs. I traced this output to qemu/target-ppc/kvm.c Is there any way to > avoid it. This means exactly what it means. There are two possible causes: 1) Your kernel is too old and doesn't support the capability 2) Qemu was compiled with kernel headers that don't know the capability yet If it's 2, just copy some of the kvm*.h files from your kernel source over to /usr/include/linux or /usr/include/asm-powerpc and fix them up to compile (remove __user). Alex