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

Re: [Xen-devel] [PATCH v4] x86/apicv: fix RTC periodic timer and apicv issue



>>> On 03.01.17 at 09:15, <xuquan8@xxxxxxxxxx> wrote:

> 
>>-----Original Message-----
>>From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>>Sent: Tuesday, January 03, 2017 3:35 PM
>>To: Xuquan (Quan Xu)
>>Cc: Andrew Cooper; George Dunlap; yang.zhang.wz@xxxxxxxxx; Chao Gao;
>>Jun Nakajima; Kevin Tian; Lan Tianyu; xen-devel@xxxxxxxxxxxxx 
>>Subject: RE: [PATCH v4] x86/apicv: fix RTC periodic timer and apicv issue
>>
>>>>> On 23.12.16 at 13:24, <xuquan8@xxxxxxxxxx> wrote:
>>> On December 22, 2016 4:12 PM, Jan Beulich wrote:
>>>>>>> On 21.12.16 at 06:44, <xuquan8@xxxxxxxxxx> wrote:
>>>>> --- a/xen/arch/x86/hvm/vmx/intr.c
>>>>> +++ b/xen/arch/x86/hvm/vmx/intr.c
>>>>> @@ -315,9 +315,13 @@ void vmx_intr_assist(void)
>>>>>          * Set eoi_exit_bitmap for periodic timer interrup to cause
>>>>EOI-induced VM
>>>>>          * exit, then pending periodic time interrups have the
>>>>> chance
>>>>to be injected
>>>>>          * for compensation
>>>>> +        * Set eoi_exit_bitmap for intack.vector when it's higher
>>>>> + than
>>>>pending
>>>>> +        * periodic time interrupts. This way we can guarantee
>>>>> + there's
>>>>always a chance
>>>>> +        * to post periodic time interrupts when periodic time
>>>>interrupts becomes the
>>>>> +        * highest one
>>>>>          */
>>>>>          if (pt_vector != -1)
>>>>> -            vmx_set_eoi_exit_bitmap(v, pt_vector);
>>>>> +            vmx_set_eoi_exit_bitmap(v, intack.vector);
>>>>
>>>>The comment does not clarify why max(pt_vector, intack.vector) is not
>>>>needed. And I'd expect you to add ASSERT(intack.vector >= pt_vector)
>>>>then, to prove this (and one might argue that this addition could be
>>>>sufficient documentation, albeit perhaps a brief comment next to the
>>>>assertion would help readers of this non-trivial piece of code).
>>>>
>>> Kevin or Jan..
>>> ASSERT(...) is ok to me.. Could you help me give a brief comment?
>>
>>I don't see why you couldn't simply use what Kevin said in reply to my
>>earlier question regarding the lack of max() here.
>>
> 
> What about """ Set EOI exit bitmap for any vector which may block injection 
> of pt_vector - give a chance to recognize pt_vector in future intack and then 
> do pt interrupts post"""?

To me that doesn't explain the absence of max(pt_vector, intack.vector)
here.

Jan


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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.