[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


 


Rackspace

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