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

Re: [Xen-devel] [Xenhackthon] Virtualized APIC registers - virtual interrupt delivery.



On Thu, May 23, 2013 at 08:49:50AM +0100, Jan Beulich wrote:
> >>> On 22.05.13 at 18:21, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 
> >>> wrote:
> > Which means that if this is set to be higher than the hypervisor timer
> > or IPI callback the guest can run unbounded. Also it would seem that
> > this value has to be often reset when migrating a guest between the pCPUs.
> > And it would appear that this value is static. Meaning the guest only
> > sets these vectors once and the hypervisor is responsible for managing
> > the priority of that guest and other guests (say dom0) on the CPU.
> > 
> > For example, we have a guest with a 10gB NIC and the guest has decided
> > to use vector 0x80 for it (assume a UP guest). Dom0 has an SAS controller
> > and is using event number 30, 31, 32, and 33 (there are only 4 PCPUS).
> > The hypervisor maps them to be 0x58, 0x68, 0x78 and 0x88 and spreads those
> > vectors on each pCPU. The guest is running on pCPU1 and there are two
> > vectors - 0x80 and 0x58. The one assigned to the guest wins and dom0
> > SAS controller is preempted.
> > 
> > The solution for that seems to have some interaction with the
> > guest when it allocates the vectors so that they are always below
> > the dom0 priority vectors. Or hypervisor has to dynamically shuffle its
> > own vectors to be higher priority.
> > 
> > Or is there an guest vector <-> hypervisor vector lookup table that
> > the CPU can use? So the hypervisor can say: the vector 0x80 in the
> > guest actually maps to vector 0x48 in the hypervisor?
> 
> It is my understanding that the vector spaces are separate, and
> hence guest interrupts can't block host ones (like the timer). Iirc
> there's some sort of flag bit in the IRTE to tell whether an interrupt
> should get delivered directly to the guest, or to the hypervisor.

Ah, so the VT-d interrupt remap table would help in setting the "Xen"s
vectors. Got it.
> 
> Jan
> 
> Jan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
> 

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