[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] x86/apicv: fix RTC periodic timer and apicv issue
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > Sent: Tuesday, December 20, 2016 4:35 PM > > >>> On 20.12.16 at 06:37, <kevin.tian@xxxxxxxxx> wrote: > >> From: Xuquan (Quan Xu) [mailto:xuquan8@xxxxxxxxxx] > >> Sent: Friday, December 16, 2016 5:40 PM > >> - if (pt_vector != -1) > >> - vmx_set_eoi_exit_bitmap(v, pt_vector); > >> + if ( pt_vector != -1 ) { > >> + if ( intack.vector > pt_vector ) > >> + vmx_set_eoi_exit_bitmap(v, intack.vector); > >> + else > >> + vmx_set_eoi_exit_bitmap(v, pt_vector); > >> + } > > > > Above can be simplified as one line change: > > if ( pt_vector != -1 ) > > vmx_set_eoi_exit_bitmap(v, intack.vector); > > Hmm, I don't understand. Did you mean to use max() here? Or > else how is this an equivalent of the originally proposed code? > Original code is not 100% correct. The purpose is to set EOI exit bitmap for any vector which may block injection of pt_vector - give chance to recognize pt_vector in future intack and then do pt intr post. The simplified code achieves this effect same as original code if intack.vector >= vector. I cannot come up a case why intack.vector might be smaller than vector. If this case happens, we still need enable exit bitmap for intack.vector instead of pt_vector for said purpose while original code did it wrong. Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |