[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v1 13/15] Update Posted-Interrupts Descriptor during vCPU scheduling
> From: Wu, Feng > Sent: Wednesday, April 08, 2015 7:02 PM > > > > > > > > and how do you handle ON is set after above check? looks this is better > > > > handled behind cmpxchg loop... > > > > > > - If 'ON' is set before 'if ( pi_test_on(&old) == 1 )', return > > > - If 'ON' is not set before it, and is set after it, ' > cmpxchg(&pi_desc->control, > > > old.control, new.control) != old.control ' returns ture, > > > so, we will do the while again, at this time, 'if ( pi_test_on(&old) == 1 > > > )' is > true. > > > > > > > but do we need to raise multiple tasklets in the loop? can they be combined > > into one notification after the loop? > > I cannot find the reason to raise multiple tasklets here. The purpose of the > check > is to make sure the vCPU is not to be blocked when there are interrupts > pending > for it. If it happens, we will terminate the block operation. And the 'ON' > bit is > clear > along with _all_ the pending interrupts in PIR will being synced to vIRR > before > VM-Entry. (once the 'ON' is set by VT-d HW, it will not generate notification > event > When interrupts happens , it only stored the interrupts in the related bit in > PIR.) > yes you're right. :-) Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |