qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: qemu compiling error on ppc64: kvm.c:81: error: 'struct


From: Dushyant Bansal
Subject: [Qemu-devel] Re: qemu compiling error on ppc64: kvm.c:81: error: 'struct kvm_sregs' has no member named 'pvr'
Date: Tue, 15 Feb 2011 21:29:05 +0530
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100713 Thunderbird/3.0.6

On Tuesday 15 February 2011 08:03 PM, Alexander Graf wrote:
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?
Thanks for the quick reply :)
I have added some more trace parameters in the tracing framework and currently, it is working fine.
1. Add new field in "struct kvm_vcpu_stat" (kvm_host.h)
2. Add corresponding entry in "struct kvm_stats_debugfs_item debugfs_entries[]" (book3s.c)
3. Increment or Decrement that field where ever necessary.

I can see stats for the new parameter in kvm_stat output. I guess, this approach is okay.

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).

I think, its reason 2. I'll try this.


Thanks,
Dushyant



reply via email to

[Prev in Thread] Current Thread [Next in Thread]