large amount of NMI_INTERRUPT disgrade winxp VM performance much.

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

 



 When I run winxp guest on one server, copy one file about 4G will
take a time of 40-50 min; if I run a FC14 guest, it will take about
2-3 min;

 I copy and run the winxp image on another server, it works well, take
about 3min.

 I run trace-cmd while copying files, the main difference of  the two
outputs is that: the slow one's output have many NMI_INTERRUPT
vm_exit, while the fast output has no such vm_exit. both of the two
servers have NMI enabled default. the slow one's output as the
following:
 qemu-system-x86-4454  [004]   549.958147: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958172: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958172: kvm_page_fault:
address c8f8a000 error_code b
 qemu-system-x86-4454  [004]   549.958177: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958202: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958204: kvm_page_fault:
address c8f8b000 error_code b
 qemu-system-x86-4454  [004]   549.958209: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958234: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958234: kvm_page_fault:
address c8f8c000 error_code b
 qemu-system-x86-4454  [004]   549.958239: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958264: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958264: kvm_page_fault:
address c8f8d000 error_code b
 qemu-system-x86-4454  [004]   549.958267: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958292: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958294: kvm_page_fault:
address c8f8e000 error_code b
 qemu-system-x86-4454  [004]   549.958299: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958324: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d5e1
 qemu-system-x86-4454  [004]   549.958324: kvm_page_fault:
address c8f8f000 error_code b
 qemu-system-x86-4454  [004]   549.958329: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958447: kvm_exit:
reason EXTERNAL_INTERRUPT rip 0x80547ac8
 qemu-system-x86-4454  [004]   549.958450: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958461: kvm_exit:
reason CR_ACCESS rip 0x8054428c
 qemu-system-x86-4454  [004]   549.958461: kvm_cr:
cr_write 0 = 0x80010031
 qemu-system-x86-4454  [004]   549.958541: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958573: kvm_exit:
reason CR_ACCESS rip 0x80546beb
 qemu-system-x86-4454  [004]   549.958575: kvm_cr:
cr_write 0 = 0x8001003b
 qemu-system-x86-4454  [004]   549.958585: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958610: kvm_exit:
reason CR_ACCESS rip 0x80546b6c
 qemu-system-x86-4454  [004]   549.958610: kvm_cr:
cr_write 3 = 0x6e00020
 qemu-system-x86-4454  [004]   549.958621: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958645: kvm_exit:
reason EXCEPTION_NMI rip 0x8051d7f4
 qemu-system-x86-4454  [004]   549.958645: kvm_page_fault:
address c0648200 error_code 3
 qemu-system-x86-4454  [004]   549.958653: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958725: kvm_exit:
reason EXCEPTION_NMI rip 0x8050a26a
 qemu-system-x86-4454  [004]   549.958726: kvm_page_fault:
address c0796994 error_code 3
 qemu-system-x86-4454  [004]   549.958738: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958750: kvm_exit:
reason IO_INSTRUCTION rip 0x806edad0
 qemu-system-x86-4454  [004]   549.958750: kvm_pio:
pio_write at 0xc050 size 2 count 1
 qemu-system-x86-4454  [004]   549.958838: kvm_entry:            vcpu 0
 qemu-system-x86-4454  [004]   549.958844: kvm_exit:
reason APIC_ACCESS rip 0x806e7b85
 qemu-system-x86-4454  [004]   549.958852: kvm_apic:
apic_read APIC_ICR = 0x40041
 qemu-system-x86-4454  [004]   549.958855: kvm_mmio:             mmio
read len 4 gpa 0xfee00300 val 0x40041
 qemu-system-x86-4454  [004]   549.958857: kvm_mmio:             mmio
write len 4 gpa 0xfee00300 val 0x40041
 qemu-system-x86-4454  [004]   549.958858: kvm_apic:
apic_write APIC_ICR = 0x40041
 qemu-system-x86-4454  [004]   549.958860: kvm_apic_ipi:         dst 1
vec 65 (Fixed|physical|de-assert|edge|self)
 qemu-system-x86-4454  [004]   549.958860: kvm_apic_accept_irq:
apicid 0 vec 65 (Fixed|edge)

 Even I disable the NMI when I boot the kernel with nmi_watchdog=0,
the trace-cmd output still show there are many NMI_INTERRUPT. I find
that in /proc/interrupts, the amount of NMI is 0. Does this mean that
NMI is produced in winxp guest OS, or this setting can not hinder kvm
to catch NMI interrupt?

  I think the difference between FC14 and winxp is that: fc14 process
the NMI interrupt correctly, but winxp can not, is this right?

  I run qemu-kvm with version 0.14.0, kernel version 2.6.32-131.6.4. I
change kvm-kmod to 2.6.32-27, it produce the same result.

  Any suggestions? thanks.

Regards.

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