the previous kvm-stat is produced base on current kvm-kmod git
version, and pateched with xiaoguangrong's mmio page-fault, but it can
not produce trace-cmd report for truncated trace.dat file. so I change
back to kvm-kmod 2.6.32.27 release. then kvm-stat produce:
kvm_exit 2575033 7917
kvm_entry 2575033 7917
kvm_mmio 1322624 5896
kvm_apic 1295881 5870
kvm_exit(NPF) 1039813 4282
kvm_page_fault 1039813 4282
kvm_apic_accept_irq 794062 3592
kvm_apic_ipi 571905 2587
kvm_ioapic_set_irq 463559 2093
kvm_set_irq 463559 2093
kvm_pic_set_irq 463559 2093
kvm_exit(IOIO) 399239 1789
kvm_pio 399239 1789
kvm_ack_irq 222157 1005
kvm_exit(VMMCALL) 125593 575
kvm_hypercall 125593 575
kvm_exit(HLT) 117405 512
kvm_exit(INTR) 104642 462
kvm_exit(WRITE_DR7) 193564 62
kvm_inj_virq 11652 32
kvm_exit(WRITE_DR3) 96782 31
kvm_exit(WRITE_DR2) 96782 31
kvm_exit(WRITE_DR1) 96782 31
kvm_exit(WRITE_DR0) 96782 31
kvm_exit(VINTR) 8327 29
kvm_exit(READ_DR1) 48391 15
kvm_exit(READ_DR0) 48391 15
kvm_exit(READ_DR3) 48391 15
kvm_exit(READ_DR2) 48391 15
kvm_exit(WRITE_CR4) 3102 11
kvm_exit(READ_CR4) 1551 5
kvm_cpuid 1075 0
kvm_exit(CPUID) 1075 0
kvm_exit(NMI) 29 0
kvm_exit(WBINVD) 1 0
then run:
trace-cmd record -b 20000 -e kvm
trace-cmd report
it produce much data, I cut and paste some which I think is doutable.
qemu-system-x86-4239 [001] 7369.307323: kvm_apic:
apic_write APIC_EOI = 0x0
qemu-system-x86-4239 [001] 7369.307324: kvm_ack_irq:
irqchip IOAPIC pin 11
qemu-system-x86-4239 [001] 7369.307324: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.307338: kvm_exit:
reason UNKNOWN rip 0xf0f2a243
qemu-system-x86-4239 [001] 7369.307339: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.307344: kvm_exit:
reason UNKNOWN rip 0xf77ffd3d
there is a context swtich after vcpu exited about 1ms, I wonder why
the vcpu thread don't start vm_enter for a long time?
qemu-system-x86-4227 [000] 7369.308502: kvm_set_irq: gsi
11 level 1 source 0
qemu-system-x86-4227 [000] 7369.308503: kvm_apic_accept_irq:
apicid 0 vec 129 (LowPrio|level)
qemu-system-x86-4227 [000] 7369.308510: kvm_ioapic_set_irq: pin
11 dst 1 vec=129 (LowPrio|logical|level)
qemu-system-x86-4227 [000] 7369.308510: kvm_pic_set_irq: chip
1 pin 3 (level|masked)
qemu-system-x86-4239 [001] 7369.308519: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308521: kvm_exit:
reason UNKNOWN rip 0x806eda5a
qemu-system-x86-4239 [001] 7369.308522: kvm_pio:
pio_read at 0xc033 size 1 count 1
qemu-system-x86-4239 [001] 7369.308527: kvm_set_irq: gsi
11 level 0 source 0
qemu-system-x86-4239 [001] 7369.308527: kvm_ioapic_set_irq: pin
11 dst 1 vec=129 (LowPrio|logical|level)
qemu-system-x86-4239 [001] 7369.308528: kvm_pic_set_irq: chip
1 pin 3 (level|masked)
qemu-system-x86-4239 [001] 7369.308530: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308532: kvm_exit:
reason UNKNOWN rip 0x806e7b85
qemu-system-x86-4239 [001] 7369.308532: kvm_page_fault:
address fee00300 error_code 4
qemu-system-x86-4239 [001] 7369.308536: kvm_apic:
apic_read APIC_ICR = 0x40041
qemu-system-x86-4239 [001] 7369.308536: kvm_mmio: mmio
read len 4 gpa 0xfee00300 val 0x40041
qemu-system-x86-4239 [001] 7369.308536: kvm_mmio: mmio
write len 4 gpa 0xfee00300 val 0x40041
qemu-system-x86-4239 [001] 7369.308537: kvm_apic:
apic_write APIC_ICR = 0x40041
qemu-system-x86-4239 [001] 7369.308537: kvm_apic_ipi: dst 0
vec 65 (Fixed|physical|de-assert|edge|self)
qemu-system-x86-4239 [001] 7369.308537: kvm_apic_accept_irq:
apicid 0 vec 65 (Fixed|edge) (coalesced)
qemu-system-x86-4239 [001] 7369.308538: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308539: kvm_exit:
reason UNKNOWN rip 0x806e7b91
qemu-system-x86-4239 [001] 7369.308539: kvm_page_fault:
address fee00300 error_code 6
qemu-system-x86-4239 [001] 7369.308540: kvm_mmio: mmio
write len 4 gpa 0xfee00300 val 0x40041
qemu-system-x86-4239 [001] 7369.308540: kvm_apic:
apic_write APIC_ICR = 0x40041
qemu-system-x86-4239 [001] 7369.308540: kvm_apic_ipi: dst 0
vec 65 (Fixed|physical|de-assert|edge|self)
qemu-system-x86-4239 [001] 7369.308540: kvm_apic_accept_irq:
apicid 0 vec 65 (Fixed|edge) (coalesced)
qemu-system-x86-4239 [001] 7369.308541: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308542: kvm_exit:
reason UNKNOWN rip 0x806e7b97
qemu-system-x86-4239 [001] 7369.308542: kvm_page_fault:
address fee00300 error_code 4
qemu-system-x86-4239 [001] 7369.308542: kvm_apic:
apic_read APIC_ICR = 0x40041
qemu-system-x86-4239 [001] 7369.308542: kvm_mmio: mmio
read len 4 gpa 0xfee00300 val 0x40041
qemu-system-x86-4239 [001] 7369.308543: kvm_mmio: mmio
write len 4 gpa 0xfee00300 val 0x40041
qemu-system-x86-4239 [001] 7369.308543: kvm_apic:
apic_write APIC_ICR = 0x40041
qemu-system-x86-4239 [001] 7369.308543: kvm_apic_ipi: dst 0
vec 65 (Fixed|physical|de-assert|edge|self)
qemu-system-x86-4239 [001] 7369.308543: kvm_apic_accept_irq:
apicid 0 vec 65 (Fixed|edge) (coalesced)
there are multiply wirte to apic's APIC_ICR with 0x40041, and every
time vcpu quickly exit after enter, is this okey?
qemu-system-x86-4239 [001] 7369.308543: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308545: kvm_exit:
reason UNKNOWN rip 0x806e7f18
qemu-system-x86-4239 [001] 7369.308545: kvm_page_fault:
address fee000b0 error_code 6
qemu-system-x86-4239 [001] 7369.308545: kvm_mmio: mmio
write len 4 gpa 0xfee000b0 val 0x0
qemu-system-x86-4239 [001] 7369.308545: kvm_apic:
apic_write APIC_EOI = 0x0
qemu-system-x86-4239 [001] 7369.308546: kvm_ack_irq:
irqchip IOAPIC pin 11
qemu-system-x86-4239 [001] 7369.308546: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308560: kvm_exit:
reason UNKNOWN rip 0x800ca22e
qemu-system-x86-4239 [001] 7369.308560: kvm_hypercall: nr
0x1 a0 0x41 a1 0x0 a2 0x0 a3 0x806e7410
qemu-system-x86-4239 [001] 7369.308561: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308562: kvm_exit:
reason UNKNOWN rip 0x806e7d33
qemu-system-x86-4239 [001] 7369.308562: kvm_page_fault:
address fee000b0 error_code 6
qemu-system-x86-4239 [001] 7369.308563: kvm_mmio: mmio
write len 4 gpa 0xfee000b0 val 0x0
qemu-system-x86-4239 [001] 7369.308563: kvm_apic:
apic_write APIC_EOI = 0x0
qemu-system-x86-4239 [001] 7369.308564: kvm_entry: vcpu 0
qemu-system-x86-4239 [001] 7369.308569: kvm_exit:
reason UNKNOWN rip 0xf77ffd3d
again, APIC_EOI is write twice.
qemu-system-x86-4227 [000] 7369.310965: kvm_set_irq: gsi
11 level 1 source 0
I once think it may come from network speed, so I assign a pci
network card to vm, but the problem remains. so I think the problem
may come from windows rdp display driver's drop & drop realization,
especailly it can be influenced by lotus notes, but I can not see how
this hinder the vm schedule?
I also increase the vm memory, it has no effect. and my kernel is
2.6.32-131.4.1.
Any suggestions? thanks.
Regards!
Green.
2011/7/5 Avi Kivity <[email protected]>:
> On 07/05/2011 12:40 PM, ya su wrote:
>>
>> I am using qemu-kvm, cli as the following:
>>
>> qemu-system-x86_64 -drive
>> file=test-notes.img,if=virtio,cache=none,boot=on -net
>> nic,macaddr=00:00:00:11:22:88,model=virtio -net tap -m 1024 -vnc :3
>>
>> I open powerpoint 2007, and drag a rectangel, it moves very
>> slowly. it must meet the following conditions to produce the same
>> result:
>> (1) lotus notes is running.
>> (2) logon through rdestktop.
>>
>> if I connect through vnc, it will not happen; if I don't run
>> louts notes, it will not happen. if I change to 2 vcpus as the
>> following cli, it will respond much better.
>>
>> qemu-system-x86_64 -drive
>> file=test-notes.img,if=virtio,cache=none,boot=on -net
>> nic,macaddr=00:00:00:11:22:88,model=virtio -net tap -m 1024 -vnc :3
>> -smp 2
>>
>> I first doubt that maybe it's from windows internal problem, so
>> I tested on a uni-processor PC, but It looks good.
>>
>> I also run qemu-kvm with -no-kvm, it produce the same results.
>>
>> I run kvm-stat when dragging a rectangle, the output is as the following:
>>
>> exits 4650520 24645
>> insn_emulation 3508180 15158
>> host_state_reload 1273409 13999
>> io_exits 1031465 13504
>> irq_injections 179104 2629
>> hypercalls 131481 2084
>> halt_wakeup 33589 495
>> halt_exits 33584 495
>> irq_exits 105020 237
>> pf_fixed 449879 106
>> fpu_reload 16852 54
>> mmio_exits 46426 1
>> mmu_cache_miss 9985 0
>> mmu_shadow_zapped 11736 0
>> signal_exits 2145 0
>> remote_tlb_flush 251 0
>>
>> it seems that qemu-kvm is emulating some instruction which take
>> much cpu resource, but I don't know how to find the emuated
>> instructions.
>>
>
> Please follow the instructions in http://www.linux-kvm.org/page/Tracing to
> find out which instruction is executed.
>
> --
> error compiling committee.c: too many arguments to function
>
>
--
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