From: Hailiang Zhang <zhang.zhanghailiang@huawei.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
"Gonglei (Arei)" <arei.gonglei@huawei.com>,
qemu-devel <qemu-devel@nongnu.org>,
"Michael S. Tsirkin" <mst@redhat.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
"wangxin (U)" <wangxinxin.wang@huawei.com>,
Xiexiangyou <xiexiangyou@huawei.com>
Subject: Re: [Qemu-devel] 答复: [BUG] Windows 7 got stuck easily while run PCMark10 application
Date: Sat, 2 Dec 2017 11:29:58 +0800 [thread overview]
Message-ID: <5A221E36.3050900@huawei.com> (raw)
In-Reply-To: <425502fd-5f04-88a1-4f2a-d9ac3a3c0580@redhat.com>
On 2017/12/2 2:37, Paolo Bonzini wrote:
> On 01/12/2017 18:45, Gonglei (Arei) wrote:
>> I also think it's windows bug, the problem is that it doesn't occur on
>> xen platform.
> It's a race, it may just be that RTC PIO is faster in Xen because it's
> implemented in the hypervisor.
No, In Xen, it does not has such problem because it injects the RTC irq without
checking whether its previous irq been cleared or not, which we do has such checking
in KVM.
static int ioapic_set_irq(struct kvm_ioapic *ioapic, unsigned int irq,
int irq_level, bool line_status)
{
... ...
if (!irq_level) {
ioapic->irr &= ~mask; -->clear the RTC irq in irr, Or we will can not inject RTC irq.
ret = 1;
goto out;
}
I agree that we move the operation of clearing RTC irq from cmos_ioport_read() to
cmos_ioport_write() to ensure the action been done.
Thanks,
Hailiang
> I will try reporting it to Microsoft.
>
> Thanks,
>
> Paolo
>
>> Thanks,
>> Gonglei
>> *发件人:*Paolo Bonzini
>> *收件人:*龚磊,张海亮,qemu-devel,Michael S. Tsirkin
>> *抄送:*黄伟栋,王欣,谢祥有
>> *时间:*2017-12-02 01:10:08
>> *主题:*Re: [BUG] Windows 7 got stuck easily while run PCMark10 application
>>
>> On 01/12/2017 08:08, Gonglei (Arei) wrote:
>>> First write to 0x70, cmos_index = 0xc & 0x7f = 0xc
>>> CPU 0/KVM-15566 kvm_pio: pio_write at 0x70 size 1 count 1 val 0xc> Second write to 0x70, cmos_index = 0x86 & 0x7f = 0x6> CPU 1/KVM-15567 kvm_pio: pio_write at 0x70 size 1 count 1 val 0x86> vcpu0 read 0x6 because cmos_index is 0x6 now:> CPU 0/KVM-15566 kvm_pio: pio_read at 0x71 size 1 count 1 val 0x6> vcpu1
>> read 0x6:> CPU 1/KVM-15567 kvm_pio: pio_read at 0x71 size 1 count
>> 1 val 0x6
>> This seems to be a Windows bug. The easiest workaround that I
>> can think of is to clear the interrupts already when 0xc is written,
>> without waiting for the read (because REG_C can only be read).
>>
>> What do you think?
>>
>> Thanks,
>>
>> Paolo
>
> .
>
prev parent reply other threads:[~2017-12-02 4:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 19:03 [Qemu-devel] [BUG] Windows 7 got stuck easily while run PCMark10 application Zhanghailiang
2017-12-01 7:08 ` Gonglei (Arei)
2017-12-01 17:09 ` Paolo Bonzini
2017-12-01 17:45 ` [Qemu-devel] 答复: " Gonglei (Arei)
2017-12-01 18:37 ` Paolo Bonzini
2017-12-02 3:29 ` Hailiang Zhang [this message]
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=5A221E36.3050900@huawei.com \
--to=zhang.zhanghailiang@huawei.com \
--cc=arei.gonglei@huawei.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=wangxinxin.wang@huawei.com \
--cc=weidong.huang@huawei.com \
--cc=xiexiangyou@huawei.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.