On Wed, Mar 30, 2011 at 02:17:55PM +0200, Avi Kivity wrote:
> On 03/30/2011 01:43 PM, Gleb Natapov wrote:
> >After reboot perf started to work. I ran modified emulator.flat unit
> >test. It was modified to run test_cmps() in an endless loop.
> >
> >Without patch:
> >1.71% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >1.51% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >1.68% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >
> >With patch:
> >0.84% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >0.96% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >0.89% qemu-system-x86 [kvm] [k] x86_emulate_instruction
> >
>
> The cause might be kvm_rip_write() using vmwrite. Can you use perf
> to see where the hits are in x86_emulate_instruction?
>
> If that's the case, we may be able to do local optimizations to
> kvm_rip_write(), kvm_set_rflags(), and toggle_interruptiblity()
> instead of this global change.
>
I can leave copying there and eliminate only kvm_rip_write and see
perf data.
--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html