From: "Zhang Haoyu" <zhanghy@sangfor.com>
To: "Gleb Natapov" <gleb@kernel.org>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"kvm" <kvm@vger.kernel.org>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Zhang, Yang Z" <yang.z.zhang@intel.com>,
"Michael S.Tsirkin" <mst@redhat.com>
Subject: Re: [question] lots of interrupts injected to vm when pressingsomekey w/o releasing
Date: Mon, 24 Nov 2014 16:58:19 +0800 [thread overview]
Message-ID: <201411241658171181814@sangfor.com> (raw)
In-Reply-To: 20141120070620.GG26187@minantech.com
>On Thu, Nov 20, 2014 at 02:59:36PM +0800, Zhang Haoyu wrote:
>> >On 20/11/2014 03:20, Zhang Haoyu wrote:
>> >> Hi all,
>> >>
>> >> If I press the one of "Insert/Delete/Home/End/PageUp/PageDown/UpArrow/
>> >> DownArrow/LeftArrow/RightArrow" key w/o releasing, then lots of interrupts
>> >> will be injected to vm(win7/win2008), about 8000/s, the system become very slow,
>> >> bringing very bad experience. But the other keys are okay.
>> >> And, linux guest has no this problem.
>> >
>> >Do you have a trace for this? What version of QEMU and what UI backend?
>> >
>> Sorry for forgetting to mention test environment from the start.
>> Host: rhel7 with kernel-3.10.0-121
>> QEMU: qemu-2.0.2
>> Guest: win7(bad),win2008(bad),linux-kernel-3.10.0-121(good)
>>
>> No UI backend, directly start the VM via qemu command.
>>
>> perf top data when above problem happening:
>Trace it like this: http://www.linux-kvm.org/page/Tracing
trace data while pressing "downArrow" key w/o releasing:(the vm has 2 vcpus)
version = 6
CPU 2 is empty
cpus=16
kvm-16063 [000] 8312.322731: kvm_pio: pio_read at 0x64 size 1 count 1
kvm-16062 [003] 8312.322732: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16062 [003] 8312.322733: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322733: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-16062 [003] 8312.322736: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16062 [003] 8312.322736: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322736: kvm_entry: vcpu 1
kvm-16063 [000] 8312.322737: kvm_exit: reason CPUID rip 0x806e7fbb info 0 0
kvm-16063 [000] 8312.322738: kvm_cpuid: func 0 rax a rbx 756e6547 rcx 6c65746e rdx 49656e69
kvm-16062 [003] 8312.322738: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16063 [000] 8312.322738: kvm_entry: vcpu 1
kvm-16062 [003] 8312.322739: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322739: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-16063 [000] 8312.322740: kvm_pio: pio_read at 0xb008 size 4 count 1
kvm-16063 [000] 8312.322740: kvm_entry: vcpu 1
kvm-16062 [003] 8312.322741: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16063 [000] 8312.322741: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-16062 [003] 8312.322741: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322742: kvm_pio: pio_read at 0xb008 size 4 count 1
kvm-16063 [000] 8312.322742: kvm_entry: vcpu 1
kvm-16063 [000] 8312.322743: kvm_exit: reason IO_INSTRUCTION rip 0x806eda5a info 640008 0
kvm-16063 [000] 8312.322743: kvm_pio: pio_read at 0x64 size 1 count 1
kvm-16062 [003] 8312.322744: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16063 [000] 8312.322744: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-16062 [003] 8312.322744: kvm_entry: vcpu 0
kvm-16062 [003] 8312.322746: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16062 [003] 8312.322747: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322747: kvm_entry: vcpu 1
kvm-16063 [000] 8312.322748: kvm_exit: reason CPUID rip 0x806e7fbb info 0 0
kvm-16063 [000] 8312.322748: kvm_cpuid: func 0 rax a rbx 756e6547 rcx 6c65746e rdx 49656e69
kvm-16063 [000] 8312.322749: kvm_entry: vcpu 1
kvm-16062 [003] 8312.322749: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16062 [003] 8312.322749: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322749: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-16063 [000] 8312.322750: kvm_pio: pio_read at 0xb008 size 4 count 1
kvm-16063 [000] 8312.322751: kvm_entry: vcpu 1
kvm-16062 [003] 8312.322751: kvm_exit: reason PAUSE_INSTRUCTION rip 0x805466c0 info 0 0
kvm-16063 [000] 8312.322751: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-16062 [003] 8312.322752: kvm_entry: vcpu 0
kvm-16063 [000] 8312.322752: kvm_pio: pio_read at 0xb008 size 4 count 1
...
trace data while pressing "downArrow" key w/o releasing:(the vm has 1 vcpus)
version = 6
CPU 4 is empty
CPU 5 is empty
CPU 6 is empty
CPU 7 is empty
CPU 10 is empty
CPU 11 is empty
CPU 12 is empty
CPU 13 is empty
CPU 14 is empty
CPU 15 is empty
cpus=16
kvm-27755 [002] 19299.396888: kvm_set_irq: gsi 8 level 1 source 0
kvm-27755 [002] 19299.396891: kvm_pic_set_irq: chip 1 pin 0 (edge|masked)
kvm-27755 [002] 19299.396895: kvm_apic_accept_irq: apicid 0 vec 209 (Fixed|edge)
kvm-27755 [002] 19299.396895: kvm_ioapic_set_irq: pin 8 dst 1 vec=209 (Fixed|logical|edge)
kvm-27769 [000] 19299.396901: kvm_inj_virq: irq 209
kvm-27769 [000] 19299.396903: kvm_entry: vcpu 0
kvm-27769 [000] 19299.396906: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f29 info 700040 0
kvm-27769 [000] 19299.396908: kvm_pio: pio_write at 0x70 size 1 count 1
kvm-27769 [000] 19299.397039: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.397045: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397047: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f31 info 710048 0
kvm-27769 [000] 19299.397047: kvm_pio: pio_read at 0x71 size 1 count 1
kvm-27769 [000] 19299.397048: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.397050: kvm_set_irq: gsi 8 level 0 source 0
kvm-27769 [000] 19299.397051: kvm_pic_set_irq: chip 1 pin 0 (edge|masked)
kvm-27769 [000] 19299.397051: kvm_ioapic_set_irq: pin 8 dst 1 vec=209 (Fixed|logical|edge)
kvm-27769 [000] 19299.397053: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397053: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f3b info 700040 0
kvm-27769 [000] 19299.397054: kvm_pio: pio_write at 0x70 size 1 count 1
kvm-27769 [000] 19299.397054: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.397056: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397056: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f43 info 710048 0
kvm-27769 [000] 19299.397057: kvm_pio: pio_read at 0x71 size 1 count 1
kvm-27769 [000] 19299.397057: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.397058: kvm_set_irq: gsi 8 level 0 source 0
kvm-27769 [000] 19299.397059: kvm_pic_set_irq: chip 1 pin 0 (edge|masked)
kvm-27769 [000] 19299.397059: kvm_ioapic_set_irq: pin 8 dst 1 vec=209 (Fixed|logical|edge)
kvm-27769 [000] 19299.397060: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397061: kvm_exit: reason APIC_ACCESS rip 0x806e7f18 info 10b0 0
kvm-27769 [000] 19299.397062: kvm_apic: apic_write APIC_EOI = 0x0
kvm-27769 [000] 19299.397062: kvm_eoi: apicid 0 vector 209
kvm-27769 [000] 19299.397063: kvm_ack_irq: irqchip IOAPIC pin 8
kvm-27769 [000] 19299.397064: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397066: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-27769 [000] 19299.397066: kvm_pio: pio_read at 0xb008 size 4 count 1
kvm-27769 [000] 19299.397067: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397068: kvm_exit: reason IO_INSTRUCTION rip 0x806edf72 info b008000b 0
kvm-27769 [000] 19299.397069: kvm_pio: pio_read at 0xb008 size 4 count 1
kvm-27769 [000] 19299.397069: kvm_entry: vcpu 0
kvm-27769 [000] 19299.397070: kvm_exit: reason HLT rip 0xf878c161 info 0 0
kvm-27755 [002] 19299.412667: kvm_set_irq: gsi 8 level 1 source 0
kvm-27755 [002] 19299.412668: kvm_pic_set_irq: chip 1 pin 0 (edge|masked)
kvm-27755 [002] 19299.412671: kvm_apic_accept_irq: apicid 0 vec 209 (Fixed|edge)
kvm-27755 [002] 19299.412672: kvm_ioapic_set_irq: pin 8 dst 1 vec=209 (Fixed|logical|edge)
kvm-27769 [000] 19299.412678: kvm_inj_virq: irq 209
kvm-27769 [000] 19299.412679: kvm_entry: vcpu 0
kvm-27769 [000] 19299.412683: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f29 info 700040 0
kvm-27769 [000] 19299.412684: kvm_pio: pio_write at 0x70 size 1 count 1
kvm-27769 [000] 19299.412686: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.412712: kvm_entry: vcpu 0
kvm-27769 [000] 19299.412713: kvm_exit: reason IO_INSTRUCTION rip 0x806e5f31 info 710048 0
kvm-27769 [000] 19299.412713: kvm_pio: pio_read at 0x71 size 1 count 1
kvm-27769 [000] 19299.412714: kvm_userspace_exit: reason KVM_EXIT_IO (2)
kvm-27769 [000] 19299.412716: kvm_set_irq: gsi 8 level 0 source 0
Thanks,
Zhang Haoyu
next prev parent reply other threads:[~2014-11-24 8:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 2:20 [question] lots of interrupts injected to vm when pressing some key w/o releasing Zhang Haoyu
2014-11-20 6:19 ` Paolo Bonzini
2014-11-20 6:59 ` [question] lots of interrupts injected to vm when pressing somekey " Zhang Haoyu
2014-11-20 7:06 ` Gleb Natapov
2014-11-24 8:58 ` Zhang Haoyu [this message]
[not found] ` <A9667DDFB95DB7438FA9D7D576C3D87E0ABEF25B@SHSMSX104.ccr.corp.intel.com>
2014-11-21 22:31 ` [question] lots of interrupts injected to vm when pressing some key " Paolo Bonzini
[not found] ` <A9667DDFB95DB7438FA9D7D576C3D87E0ABF0FE3@SHSMSX104.ccr.corp.intel.com>
2014-11-25 9:49 ` Paolo Bonzini
[not found] ` <A9667DDFB95DB7438FA9D7D576C3D87E0ABF396A@SHSMSX104.ccr.corp.intel.com>
2014-12-03 15:42 ` Paolo Bonzini
2014-12-15 9:39 ` Zhang Haoyu
2014-12-15 9:40 ` Paolo Bonzini
2014-11-24 12:17 ` Zhang Haoyu
2014-11-24 12:25 ` Paolo Bonzini
2014-11-25 1:54 ` [question] lots of interrupts injected to vm when pressing somekey " Zhang Haoyu
2014-11-25 7:02 ` Paolo Bonzini
2014-11-25 11:20 ` Zhang Haoyu
2014-11-25 13:52 ` Paolo Bonzini
[not found] ` <201411261511537876936@sangfor.com>
[not found] ` <A9667DDFB95DB7438FA9D7D576C3D87E0ABF2A95@SHSMSX104.ccr.corp.intel.com>
2014-11-27 7:20 ` [question] lots of interrupts injected to vm when pressing some key " Zhang Haoyu
[not found] ` <A9667DDFB95DB7438FA9D7D576C3D87E0ABF2C24@SHSMSX104.ccr.corp.intel.com>
2014-11-27 8:54 ` Zhang Haoyu
2014-11-28 8:27 ` Wanpeng Li
2014-11-28 9:44 ` Zhang Haoyu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201411241658171181814@sangfor.com \
--to=zhanghy@sangfor.com \
--cc=alex.williamson@redhat.com \
--cc=gleb@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=yang.z.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.