Re: PowerPoint performance degrade greatly when logon on through rdesktop to winxp, and when lotus notes is running.

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

 



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 <avi@xxxxxxxxxx>:
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux