To clear the problem from guest settings, I run the same winxp image on another server with the same kernel/qemu-kvm/command. the copy is fast. so I think this problem relates only with some kind of host's special hardware. the fast server's trace-cmd output as the following: qemu-system-x86-7681 [001] 20054.604841: kvm_entry: vcpu 0 qemu-system-x86-7681 [001] 20054.604842: kvm_exit: reason UNKNOWN rip 0x806e7d33 qemu-system-x86-7681 [001] 20054.604842: kvm_page_fault: address fee000b0 error_code 6 qemu-system-x86-7681 [001] 20054.604843: kvm_mmio: mmio write len 4 gpa 0xfee000b0 val 0x0 qemu-system-x86-7681 [001] 20054.604843: kvm_apic: apic_write APIC_EOI = 0x0 qemu-system-x86-7681 [001] 20054.604844: kvm_entry: vcpu 0 qemu-system-x86-7681 [001] 20054.604917: kvm_exit: reason UNKNOWN rip 0xbff63b14 qemu-system-x86-7681 [001] 20054.604917: kvm_page_fault: address b8040 error_code 4 qemu-system-x86-7681 [001] 20054.604920: kvm_mmio: mmio unsatisfied-read len 1 gpa 0xb8040 val 0x0 qemu-system-x86-7681 [001] 20054.604923: kvm_mmio: mmio read len 1 gpa 0xb8040 val 0x0 qemu-system-x86-7681 [001] 20054.604924: kvm_mmio: mmio write len 1 gpa 0xb8040 val 0x0 qemu-system-x86-7681 [001] 20054.604925: kvm_entry: vcpu 0 qemu-system-x86-7681 [001] 20054.604926: kvm_exit: reason UNKNOWN rip 0xbff63b1a qemu-system-x86-7681 [001] 20054.604927: kvm_page_fault: address b801a error_code 6 qemu-system-x86-7681 [001] 20054.604928: kvm_mmio: mmio write len 1 gpa 0xb801a val 0xd qemu-system-x86-7681 [001] 20054.604928: kvm_entry: vcpu 0 qemu-system-x86-7681 [001] 20054.604929: kvm_exit: reason UNKNOWN rip 0xbff63b23 qemu-system-x86-7681 [001] 20054.604929: kvm_page_fault: address b8014 error_code 6 qemu-system-x86-7681 [001] 20054.604930: kvm_mmio: mmio write len 4 gpa 0xb8014 val 0x15f900 According to Tian's suggest, the NMI is produced by guest's write to reservd page, Is there any way to find out why the slow-copy server reserve the memory page? I checked the server's memory, there is large free space, no swap is used. and I have tested with server with kernel 2.6.39, the problem remains. Regards. Suya. 2011/8/11 Tian, Kevin <kevin.tian@xxxxxxxxx>: >> From: ya su >> Sent: Thursday, August 11, 2011 11:57 AM >> >> 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. >> > > Here " reason EXCEPTION_NMI" implicates the cause from either an > exception (if the bit in exception bitmap is set) or an NMI (when "NMI > exiting control is set). In most time you should see majority of this > category as page fault, which is revealed by: > >> 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 > > error_code 'b' means the page fault is caused by a write access in kernel > space, but related page entry has reserved bit set. This is usually used by > OS for some special tricks, e.g. to handle page swaps. You may check related > setting in win guest. > > Thanks > Kevin > -- 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