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

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



>>> On 04.01.17 at 13:21, <xuquan8@xxxxxxxxxx> wrote:
> --- a/xen/arch/x86/hvm/vmx/intr.c
> +++ b/xen/arch/x86/hvm/vmx/intr.c
> @@ -312,13 +312,14 @@ void vmx_intr_assist(void)
>          unsigned int i, n;
> 
>         /*
> -        * 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
> +        * intack.vector is the highest priority vector. So we set 
> eoi_exit_bitmap
> +        * for intack.vector - give a chance to post periodic time interrupts 
> when
> +        * periodic time interrupts become the highest one
>          */
> -        if (pt_vector != -1)
> -            vmx_set_eoi_exit_bitmap(v, pt_vector);
> -
> +        if ( pt_vector != -1 ) {

I would have said I'll fix the coding style violation here while committing,
but ...

> @@ -334,7 +335,8 @@ void vmx_intr_assist(void)
>              __vmwrite(EOI_EXIT_BITMAP(i), 
> v->arch.hvm_vmx.eoi_exit_bitmap[i]);
>          }
> 
> -        pt_intr_post(v, intack);
> +        if ( intack.vector == pt_vector )
> +            pt_intr_post(v, intack);

... this change doesn't appear to be mentioned in the description at
all, and I can't see why it is needed considering the is_pt_irq() check
(under lock) early on in pt_intr_post().

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®.