xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Chao Gao <chao.gao@intel.com>
To: "Xuquan (Quan Xu)" <xuquan8@huawei.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Kevin Tian <kevin.tian@intel.com>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [xen-unstable test] 106504: regressions - FAIL
Date: Wed, 29 Mar 2017 04:48:54 +0800	[thread overview]
Message-ID: <20170328204854.GA26213@skl-2s3.sh.intel.com> (raw)
In-Reply-To: <E0A769A898ADB6449596C41F51EF62C6AFFF0F@SZXEMI506-MBX.china.huawei.com>

On Wed, Mar 29, 2017 at 03:28:43AM +0000, Xuquan (Quan Xu) wrote:
>On March 22, 2017 2:14 PM, Chao Gao wrote:
>>On Wed, Mar 22, 2017 at 06:47:33AM -0600, Jan Beulich wrote:
>>>> 3. We read RTE 3 times. 1st happens when we set vIRR. 2nd happens
>>>> when
>>>> pt_update_irq() returns. 3rd happens in pt_intr_post(). If guest
>>>> changes the vector in RTE during the window, it will also incur
>>>> losing or getting more periodic timer interrupt.
>>>
>>>Which raises the question whether latching the value read the first
>>>time would address the issue you demonstrate with the test case.
>>>Or alternatively deferring writes to take effect only once readers are
>>>done with their perhaps multiple accesses?
>>
>>I think your solution is better.
>>
>>>
>>>Can you get in touch with your chipset folks to find out whether
>>>hardware has cases where multiple reads occur during the processing of
>>>a single event?
>>
>>Yes, I will come back once I get how they handle similar processes.
>>
>>>
>
>Chao,
>Based on Jan's suggestion, a rcu lock may be helpful to you..
>Specifically, you can refer to rcu_read_lock() in kvm code..

Thanks for your advice. I will read this.

>
>btw, I still can't get how this caused the assertion clearly.. could you describe it in short? :)

In short, it caused by reading IOAPIC RTE twice. The first time is for setting a bit in vIRR.
The second one is to return the bit we set for setting EOI later. But the vector in RTE can be changed
by guest during the time window. If the new vector is bigger than the old one (such as 0x38 > 0x30),
the assertion may fail.

>
>
>
>Quan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2017-03-29  3:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-07  5:52 [xen-unstable test] 106504: regressions - FAIL osstest service owner
2017-03-07  9:16 ` Jan Beulich
2017-03-07  4:24   ` Chao Gao
2017-03-07 14:11     ` Jan Beulich
2017-03-22  4:53       ` Chao Gao
2017-03-22 12:47         ` Jan Beulich
2017-03-22  6:13           ` Chao Gao
2017-03-22 13:40             ` Jan Beulich
2017-03-29  3:28             ` Xuquan (Quan Xu)
2017-03-28 20:48               ` Chao Gao [this message]
2017-03-24  7:48           ` Tian, Kevin
2017-03-24  8:17             ` Jan Beulich
2017-03-24  8:25               ` Tian, Kevin
     [not found]               ` <AADFC41AFE54684AB9EE6CBC0274A5D190C7CFB9@SHSMSX101.ccr.corp.intel.com>
2017-03-24  8:49                 ` Tian, Kevin
2017-03-24  9:00               ` Andrew Cooper
2017-04-04 23:57           ` Chao Gao
2017-04-05  7:48             ` Jan Beulich
2017-04-05  1:49               ` Chao Gao
2017-04-07  8:56             ` Xuquan (Quan Xu)
2017-03-08  3:16     ` Xuquan (Quan Xu)

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=20170328204854.GA26213@skl-2s3.sh.intel.com \
    --to=chao.gao@intel.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=kevin.tian@intel.com \
    --cc=osstest-admin@xenproject.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xuquan8@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).